如何从一个类访问私有变量?

时间:2011-03-18 11:38:24

标签: .net

在A类中,我有一个私有变量,我想从另一个类访问它。可能吗?给我解决方案。

6 个答案:

答案 0 :(得分:2)

私有变量应该是私有的,所以没有直接的方法来做到这一点。你可以做几件事。

  1. 通过访问者公开私人物品(需要代码)
  2. 使用反射在对象中查找并找到它(请参阅here

答案 1 :(得分:1)

如果您想从“外部”访问它,则必须将其公开。但更好的方法是围绕它包裹一个房产。然后你甚至可以给予只读访问权。

public class MyClass
{
   private int myPrivateInt;

   public int PublicInt
   {
     get { return myPrivateInt; }
     set { myPrivateInt = value; } // or remove this line for readonly access
   }
}

答案 2 :(得分:0)

我认为你不能从另一个类访问私有变量。

答案 3 :(得分:0)

嗯......出于某种原因,它被称为private。设为public

答案 4 :(得分:0)

“私有”访问修饰符的全部目的是防止这种情况。我认为您正在寻找将varbele移动到共享基类或使用“内部”访问修饰符来限制对同一程序集中的类的可访问性。

如果您真的想要访问它,可以使用reflection,但这是您应该尝试的最后手段。例如,如果您使用它来访问第3方库中的私有内容,则该lib的未来版本(使用相同的公共API)可能会破坏您的应用程序。

答案 5 :(得分:0)

如果你可以访问它们,那么将它们设为私有就没有任何意义。

但是,实际上,如果您需要访问此类成员,通常会实施获取,设置