【问题标题】:Access private members in Silverlight在 Silverlight 中访问私有成员
【发布时间】:2011-09-28 00:52:23
【问题描述】:
我对 Silverlight 还很陌生,但我看到这一直在做。我只是还不知道该怎么做。
我如何访问私有成员的功能?
首先,当一个单独的线程调用与 BusyIndicator 关联的窗口代码时,我在尝试使用 Busy Window Indicator 时遇到了运行时错误。
无论如何,所以我的解决方案是尽量让这个电话公开。但现在我得到一个编译错误。有人可以帮我解决这个问题吗?
请建议我如何克服此错误消息。
【问题讨论】:
标签:
c#
silverlight
private-members
busyindicator
【解决方案1】:
这不是一个私有成员问题 - BusyWindow 是一个 instance 成员,即与包含类的一个 instance 相关联。您的 setbusywindow 属性是 static 成员,即与类型本身相关联。如果您的类有多个实例(或没有),您希望从哪个实例获取BusyWindow 属性?
您需要了解static 关键字及其在各种上下文中的含义。
请注意,目前您的 BusyWindow 字段是公开的,这通常是一个非常糟糕的主意。
【解决方案2】:
要按照您的方式工作,BusyWindow 需要实例化或 IsBusy 需要设为静态。
public static bool IsBusy{get;set;}
这是因为您试图访问实例成员,就好像它是静态成员一样。