CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

.NET中System.Management的问题

楼主grantliping(小红帽)2006-05-03 21:44:29 在 .NET技术 / ASP.NET 提问

、、、  
   
  ManagementObjectCollection.ManagementObjectEnumerator   enumerator1   =   searcher1.Get().GetEnumerator()  
   
  ManagementObject   obj1   =   enumerator1.get_Current();  
   
  、、、  
   
  错误 “System.Management.ManagementObjectCollection.ManagementObjectEnumerator.Current.get”:   无法显式调用运算符或访问器  
   
   
  在调试代码的时候,运行到enumerator1.get_Current();就出现如上错误,说无法显式调用运算符或访问器,有哪位知道怎么解决? 问题点数:100、回复次数:3Top

1 楼zhongkeruanjian(编程亮子)回复于 2006-05-03 21:52:13 得分 20

用enumerator1.Current就可以了。  
   
  get_Current是ManagementObjectEnumerator   的私有方法,私有方法无法被访问,所以抱错Top

2 楼jeremychen001181(Τιτάνες)回复于 2006-05-03 21:56:43 得分 20

这个应该是他的内部名称,   就像重载运算符一样,不可显示调用  
   
  它不是有个   Current属性吗Top

3 楼hdt(倦怠)回复于 2006-05-03 23:02:44 得分 60

C#   语言规范        
   
  13.4.1   显式接口成员实现为了实现接口,类或结构可以声明“显式接口成员实现”。显式接口成员实现就是一种方法、属性、事件或索引器声明,它使用完全限定接口成员名称作为标识符。例如  
   
  interface   ICloneable  
  {  
        object   Clone();  
  }  
  interface   IComparable  
  {  
        int   CompareTo(object   other);  
  }  
  class   ListEntry:   ICloneable,   IComparable  
  {  
        object   ICloneable.Clone()   {...}  
        int   IComparable.CompareTo(object   other)   {...}  
  }  
  这里,关于   ICloneable.Clone   和   IComparable.CompareTo   的声明是显式接口成员实现。  
   
  某些情况下,接口成员的名称对于实现该接口的类可能是不适当的,此时,可以使用显式接口成员实现来实现该接口成员。例如,一个用于“文件抽象”的类一般会实现一个具有释放文件资源作用的   Close   成员函数,同时还可能使用显式接口成员实现来实现   IDisposable   接口的   Dispose   方法:  
   
  interface   IDisposable  
  {  
        void   Dispose();  
  }  
  class   MyFile:   IDisposable  
  {  
        void   IDisposable.Dispose()   {  
              Close();  
        }  
        public   void   Close()   {  
              //   Do   what's   necessary   to   close   the   file  
              System.GC.SuppressFinalize(this);  
        }  
  }  
  在方法调用、属性访问或索引器访问中,不能直接访问“显式接口成员实现”的成员,即使用它的完全限定名也不行。“显式接口成员实现”的成员只能通过接口实例访问,并且在通过接口实例访问时,只能用该接口成员的简单名称来引用。  
   
  显式接口成员实现中包含访问修饰符属于编译时错误,而且如果包含   abstract、virtual、override   或   static   修饰符也属于编译时错误。  
   
  显式接口成员实现具有与其他成员不同的可访问性特征。由于显式接口成员实现永远不能在方法调用或属性访问中通过它们的完全限定名来访问,因此,它们似乎是   private(私有的)。但是,因为它们可以通过接口实例来访问,所以它们似乎又是   public(公共的)。  
   
  显式接口成员实现有两个主要用途:    
   
  由于显式接口成员实现不能通过类或结构实例来访问,因此它们就不属于类或结构的自身的公共接口。当需在一个公用的类或结构中实现一些仅供内部使用(不允许外界访问)的接口时,这就特别有用。    
  显式接口成员实现可以消除因同时含有多个相同签名的接口成员所引起的多义性。如果没有显式接口成员实现,一个类或结构就不可能为具有相同签名和返回类型的接口成员分别提供相应的实现,也不可能为具有相同签名和不同返回类型的所有接口成员中的任何一个提供实现。    
  为了使显式接口成员实现有效,声明它的类或结构必须在它的基类列表中指定一个接口,而该接口必须包含一个成员,该成员的完全限定名、类型和参数类型与该显式接口成员实现所具有的完全相同。因此,在下列类中  
   
  class   Shape:   ICloneable  
  {  
        object   ICloneable.Clone()   {...}  
        int   IComparable.CompareTo(object   other)   {...}       //   invalid  
  }  
  IComparable.CompareTo   声明将导致编译时错误,原因是   IComparable   未列在   Shape   的基类列表中,并且不是   ICloneable   的基接口。与此类似,在下列声明中  
   
  class   Shape:   ICloneable  
  {  
        object   ICloneable.Clone()   {...}  
  }  
  class   Ellipse:   Shape  
  {  
        object   ICloneable.Clone()   {...}       //   invalid  
  }  
  Ellipse   中的   ICloneable.Clone   声明也将导致编译时错误,因为   ICloneable   未在   Ellipse   的基类列表中显式列出。  
   
  接口成员的完全限定名必须引用声明该成员的接口。因此,下列声明中  
   
  interface   IControl  
  {  
        void   Paint();  
  }  
  interface   ITextBox:   IControl  
  {  
        void   SetText(string   text);  
  }  
  class   TextBox:   ITextBox  
  {  
        void   IControl.Paint()   {...}  
        void   ITextBox.SetText(string   text)   {...}  
  }  
  Paint   的显式接口成员实现必须写为   IControl.Paint。  
   
   
   
  --------------------------------------------------------------------------------  
   
  向   Microsoft   发送有关此主题的反馈  
   
  ©   Microsoft   Corporation。保留所有权利。  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:grantliping
  • zhongkeruanjian
  • jeremychen001181
  • hdt

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo