Making abstract classes invisible; or: hiding my BananaHuman
You can use the EditorBrowsableAttribute
and apply it to your class. This will make you class disappear from Intellisense if people are using your .dll. If you have your project referenced instead of the dll it will still be visible.
Use like:
[EditorBrowsable(EditorBrowsableState.Never)]
public class BananaHuman
{
//....
}
So if you would give me your .dll I wouldn't see BananaHuman
pop up in Intellisense. But if I would inspect the Banana or Human class I would still see it inherited from BananaHuman
because that IS the case. The EditorBrowsable
attribute just makes it disappear from Intellisense, what is what you want.