首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

小弟我遇到了一个C# 关于接口的有关问题,请高手来指点下

2013-10-18 
我遇到了一个C#关于接口的问题,请高手来指点下我最近在学习WCF,与到一个关于接口的问题有这么个接口namesp

我遇到了一个C# 关于接口的问题,请高手来指点下
我最近在学习WCF,与到一个关于接口的问题
有这么个接口
namespace System.ServiceModel
{
    public interface IDefaultCommunicationTimeouts
    { 
        TimeSpan CloseTimeout { get; }
        TimeSpan OpenTimeout { get; }
        TimeSpan ReceiveTimeout { get; }   
        TimeSpan SendTimeout { get; }
    }
}
然后它被下面的ChannelManagerBase 实现了,问题是我找来找去,都找不被实现的属性,只找到了一些可疑的属性,
namespace System.ServiceModel.Channels
{
    public abstract class ChannelManagerBase : CommunicationObject, IDefaultCommunicationTimeouts

//其它成员省略     
        protected abstract TimeSpan DefaultReceiveTimeout { get; }
        protected abstract TimeSpan DefaultSendTimeout { get; }
//上面两个有点可疑,像 接口里TimeSpan ReceiveTimeout { get; }  
// TimeSpan SendTimeout { get; }的实现,但是名称却不一样。
//如果是的话,难实现接口属性的类,它的属性名称可以和它们接口里的属性名字不相同吗? 
//请问这是怎么回 事。
    }
}
我又在ChannelManagerBase的另一个继承类CommunicationObject 里查找, 找到了另外两个属性
namespace System.ServiceModel.Channels
{
public abstract class CommunicationObject : ICommunicationObject
{    

//其它成员省略
        protected abstract TimeSpan DefaultCloseTimeout { get; }  
protected abstract TimeSpan DefaultOpenTimeout { get; }
     
//上面两个有点像 接口里的实现     TimeSpan CloseTimeout { get; }       TimeSpan OpenTimeout { get; }
//但是名字却不一样。
}
}
请高手指点

[解决办法]
有呀,我用ILSpy查看的
[__DynamicallyInvokable]
TimeSpan IDefaultCommunicationTimeouts.CloseTimeout
{
[__DynamicallyInvokable]
get
{
return this.DefaultCloseTimeout;
}
}
  
*****************************************************************************
http://feiyun0112.cnblogs.com/

热点排行