【发布时间】:2013-04-20 21:34:17
【问题描述】:
鉴于以下接口声明:
声明 A
public interface EventHandler<T>
{
void Handle(T command);
}
声明 B
public interface EventHandler<in T>
{
void Handle(T @event);
}
在正常测试中,这些都做同样的事情。 Handle 方法按预期调用。
上述情况有何不同,在其他情况下它们的表现有何不同?
【问题讨论】:
-
对于
@,它可以让你使用save-keywords,如上一个例子,event是一个关键字,var event = 2不会编译,在它前面加上@会修复它。 -
前两个真的适合你吗?我预计它们会出现编译器错误,但我确实得到了它们的编译器错误。
-
@hvd,
int @event = 2;应该可以正常工作。 -
@gdoron 我知道,我的问题是针对 OP,而不是针对您。抱歉,不清楚。