访问修饰符和多个程序集

时间:2015-12-31 10:02:08

标签: c# access-modifiers

我有两个单独的项目(Dll)。

项目1:包含抽象类。

项目2:在项目1中扩展抽象类的特定具体类。

我希望我的抽象类只能在派生自的类中访问。通常我会使用" protected",但由于它们不在同一个组件中,因此无法使用。

Project 1类应使用哪些访问修饰符?

编辑:类定义EX

namespace all.Animals
{
    public abstract class Animal
    {
      ...
    }
}

1 个答案:

答案 0 :(得分:2)

如果您希望Project1程序集中定义的抽象类仅对Project2程序集中的类可见,请创建这些类internal,然后在Project1上设置[InternalsVisibleTo]程序集级别属性。

请记住,可以访问Project1类的程序集已烘焙到此Project1程序集中。因此,如果明天您决定Project3也需要访问这些类,则需要重新编译Project1。