【问题标题】:How to access the internal variable outside the class?如何访问类外的内部变量?
【发布时间】:2015-04-06 04:51:19
【问题描述】:

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

如果我有一个像这样的internal 变量:

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

如何从班外或其他班级访问这个CommonHome

有什么方法可以访问这个吗?

【问题讨论】:

标签: c#


【解决方案1】:

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

Example  ex = new Example();
string s = ex.CommonHome;

您可能需要提供 CommonHome 的类型,我猜是 string

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

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

Class Example  
{    
    internal string CommonHome { get; set; }
    internal Example()
    {
       CommonHome = "C:/myfile/"; 
    }
}

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

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

【讨论】:

    【解决方案2】:

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

    你可以看看 msdn 这个 => link

    这里有一些代码 sn-ps。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-03
      • 1970-01-01
      • 2013-07-08
      • 2022-08-04
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多