使类组件可用于调用者类,但DLL中的用户不可见

时间:2014-03-28 21:07:42

标签: c# dll .net-assembly access-modifiers

我的项目中有三个类,其最终目标是创建一个dll:

  1. public class Main
  2. public class Helper1
  3. public static class Helper2
  4. 这些类显然包含方法&私有或公共的变量。 如何让dll中的最终用户看不到辅助类的组件,但Main类可见?我觉得这可能是更广泛的编程概念的一部分我不知道,所以我也要感谢一些链接,更详细地说明了这一点。

    public class Main
    {
        public void MainMethod()
        {
            Helper1 h = new Helper1();
            h.DoSomething()
            Helper2.DoSomethingElse();
        }
    }
    
    public class Helper1
    {
        public void DoSomething()
        {
            //some code
        }
    }
    
    public static class Helper2
    {
        public static void DoSomethingElse()
        {
            //some code
        }
    }
    

    所以,我想要实现的是,只允许引用我的dll的用户能够创建Main类的实例并调用MainMethod()。我不希望他们能够创建帮助类实例,我也不希望他们能够调用他们的方法。

1 个答案:

答案 0 :(得分:2)

使用internal访问修饰符。例如:

internal class Helper1
{
    public void DoSomething()
    {
        //some code
    }
    ...
}