需要一种方法来使用来自另一个类的类的私有方法

时间:2012-01-19 11:31:12

标签: private internal

我有一个类“A”,它包含了我需要在另一个类(类“B”)中使用的一些方法, 保存类A的实例。类“A”中的那些方法可以是内部的,因为我在同一个程序集中有两个类但我需要它们是私有的,因为类“B”是我想要使用它们的唯一类方法。 我该怎么办?

2 个答案:

答案 0 :(得分:0)

如果您有ClassB: ClassA(所以派生类),您可以将这些方法声明为protected,因此只能对派生类进行访问。

〔实施例:

public class ClassA
{
    protected void FooA() { Console.WriteLine("A"); }
    internal void FooB() { Console.WriteLine("B"); }
}

public class ClassB : ClassA
{
    public void Foo() { FooA(); }
}

public class ClassC
{
    public void Foo()
    {
        ClassA classA = new ClassA();
        classA.FooA(); // Error, because you don't see it
        classA.FooB(); // OK
    }
}

答案 1 :(得分:0)

您始终可以将A类中的方法标记为内部,然后在程序集信息文件中设置InternallyVisibleTo标志?