【问题标题】:Why does MarshalByRefObject.InitializeLifetimeService return an object and not an ILease?为什么 MarshalByRefObject.InitializeLifetimeService 返回一个对象而不是 ILease?
【发布时间】:2009-08-10 11:08:21
【问题描述】:
我正在阅读 .NET Remoting 的 msdn 文档并注意到 MarshalByRefObject.InitializeLifetimeService 方法返回一个对象而不是 ILease。文档说该方法返回一个 ILease 类型的对象,并且我发现的所有代码示例都将返回的值转换为 ILease。但是方法签名说它返回一个对象。有人知道为什么吗?
我只是好奇... :-)
【问题讨论】:
标签:
.net
remoting
marshalling
【解决方案1】:
奇怪。 Reflector 显示该方法所做的只是:
return LifetimeServices.GetLeaseInitial(this);
它确实返回了一个 ILease。所以这可能只是库中的一个疏忽(必须向前传播以解决兼容性问题),特别是如果文档还声称它是一个 ILease