为了账号安全,请及时绑定邮箱和手机立即绑定

不能使用实例引用访问成员‘<Method>’

不能使用实例引用访问成员‘<Method>’

C#
绝地无双 2019-12-19 14:14:48
不能使用实例引用访问成员‘<Method>’我要进入C#,我有这样的问题:namespace MyDataLayer{     namespace Section1     {         public class MyClass         {             public class MyItem             {                 public static string Property1{ get; set; }             }             public static MyItem GetItem()             {                 MyItem theItem = new MyItem();                 theItem.Property1 = "MyValue";                 return theItem;             }         }      }  }我在UserControl上有以下代码:using MyDataLayer.Section1;public class MyClass{     protected void MyMethod     {         MyClass.MyItem oItem = new MyClass.MyItem();         oItem = MyClass.GetItem();         someLiteral.Text = oItem.Property1;     }}一切正常,除了我去访问Property1..知音只给我“Equals, GetHashCode, GetType,和ToString“作为选项。当我在oItem.Property1,VisualStudio给了我以下解释:MemberMyDataLayer.Section1.MyClass.MyItem.Property1.getcannot be accessed with an instance reference, qualify it with a type name instead我不知道这意味着什么,我做了一些谷歌,但没能弄清楚。
查看完整描述

3 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

我也有过同样的问题-尽管几年后,有些人可能会发现一些建议很有帮助:

不要无缘无故地使用“静态”!

从运行时和编译时语义(行为)和语法两方面理解“静态”意味着什么。

  • 静态实体将在一段时间前自动构造。
    它的第一次使用。

  • 静态实体有一个分配的存储位置,即
    由所有访问该实体的人共享。

  • 静态实体只能通过其类型名称访问,而不能通过其类型名称访问。
    通过这种类型的实例。

  • 与实例方法一样,静态方法没有隐含的“this”参数。(因此,静态方法的执行次数较少。
    开销-使用它们的原因之一。)

  • 使用静态实体时要考虑线程安全。

有关MSDN中静态的一些详细信息:



查看完整回答
反对 回复 2019-12-20
  • 3 回答
  • 0 关注
  • 432 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信