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?