In ASP.NET and C# I've ran across this before.  Your class needs to implement interface ISomething in order for something in the super class to supply something to you.I can't remember the details, as I ran across it quite a while ago, but it had something to do with session variables in ASP.NET C#.  It was part of the .NET framework.At first, I thought this practice was rather silly and could be more gracefully implemented.  However now I'm finding myself implementing this in the architecture of a home-grown project I'm working on.  Using reflection, I detect the toggle a behavior on or off based on if it implements ISomething.  Just an empty interface with no methods at all.What is the technical name for this and is it good practice?
What do you call an interface with no defining methods used as property setters
object oriented;programming practices;asp.net;interfaces
Marker InterfaceIs it good practice? Well, like many things some people love them and some people hate them. See the links in the Wikipedia article for discussion. Personally I think they are rarely useful. The presence of a marker is essentially only a Boolean. It seems preferable to me to define an interface that allows richer information flow and then to pass references using that actual type.