如何访问类外的内部变量?

时间:2015-02-06 05:25:38

标签: c#

我可以访问课外的内部变量吗?

如果我有internal这样的变量:

Class Example    
{
    internal string CommonHome = "C:/myfile/";
}

如何从班级或其他班级之外访问此CommonHome

有什么方法可以访问它吗?

2 个答案:

答案 0 :(得分:3)

内部变量只能在当前的dll中访问。

你可以看一下msdn for this => link

以下是一些代码片段。

public class BaseClass 
{
   internal static int intM = 0;
}

public class TestAccess 
{
   static void Main() 
   {
      BaseClass myBase = new BaseClass();   // Ok.
      BaseClass.intM = 444;    // CS0117
   }
}

答案 1 :(得分:2)

您可以访问在其他类中声明它们的程序集中的internal成员。由于您的inter数据成员是实例成员,因此您需要在要CommonHome

的类中创建Example实例
Example  ex = new Example();
string s = ex.CommonHome;

您可能需要提供CommonHome的类型字符串我想

Class Example  
{    
    internal string CommonHome = "C:/myfile/";    
}

您最好使用CommonHome的属性而不是公共数据成员,因为您可能需要稍后将一些业务规则应用于此。这是关于属性Why Properties Matte r。

的非常好的帖子
Class Example  
{    
    internal string CommonHome { get; set; }
    internal Example()
    {
       CommonHome = "C:/myfile/"; 
    }
}
  

internal关键字是类型和类型成员的访问修饰符。   内部类型或成员只能在同一文件中访问   汇编,MSDN

您可以阅读有关访问修饰符here的更多信息。