C#语言设计:事件的显式接口实现
- 论坛
- C#语言设计:事件的显式接口实现
18 浏览
C#语言设计:事件的显式接口实现
关于C#语言设计的一个小问题:))
如果我有一个如下的接口:
interface IFoo { int Value { get; set; } }
可以使用C# 3.0的自动实现属性来显式实现这样的接口:
sealed class Foo : IFoo { int IFoo.Value { get; set; } }
但是如果接口中有一个事件:
interface IFoo { event EventHandler Event; }
并且尝试使用字段式事件来显式实现它:
sealed class Foo : IFoo { event EventHandler IFoo.Event; }
我将会得到以下编译错误:
error CS0071: An explicit interface implementation of an event must use event accessor syntax
我认为字段式事件是自动实现属性的某种二元性。
所以我的问题是:为什么有这样的限制?