There is no way to do that (in C#). If you make the property visible to your subclasses, it will be visible to all of them, not just a single one.
This is by design - a class should not be designed in a way where it requires knowledge of other classes that will use it.
That being said, if you MUST work around this, you can put these two types into a separate assembly. Instead of making that property
protected, you could mark it as internal. If ExcelAddinBase and OfficeAddinBase are the only two classes in that assembly, they will be the only ones who can see that property.
Reed Copsey, Jr. - http://reedcopsey.com
If a post answers your question, please click "
Mark As Answer" on that post and "
Mark as Helpful".