我有以下的接口,使用返回回调类型T的泛型参数...
public interface IDoWork<T>
{
T DoWork();
}
不过我也有下面的接口为好,但因为它返回void也不会调用回调。
public interface IDoWork
{
void DoWork();
}
我可以结合这两个接口,并使用运行时的逻辑来确定不同? 我怎样才能做到这一点?
我有以下的接口,使用返回回调类型T的泛型参数...
public interface IDoWork<T>
{
T DoWork();
}
不过我也有下面的接口为好,但因为它返回void也不会调用回调。
public interface IDoWork
{
void DoWork();
}
我可以结合这两个接口,并使用运行时的逻辑来确定不同? 我怎样才能做到这一点?
不幸的是,它们不能被合并。
您可以在框架内看到这一点-这就是为什么有一个单独的Task
和Task<T>
类,例如。
这就是说,通常可以通过使用共享在这种类型的情况下的实施方式IDoWork<object>
并通过null
为值等
返回类型是方法签名的一部分,因此T DoWork的()和空隙的DoWork()是不同的,并且空隙不是一个类型,它不是一个null
。 这是没有什么计算堆栈从方法返回的指示。