答案 0 :(得分:1)
我看不出这是如何起作用的。没有办法阻止这种情况发生。
SomeClass myInstance = new SomeClass(new Client1());
Endpoint2 e2 = new Endpoint2();
myInstance.SomeMethod<Endpoint2>(o, e2);
请注意myInstance
因其构造而只能处理Endpoint1
,但它允许我使用Endpoint2
调用SomeMethod,即使客户端会失败。如果你愿意放弃静态类型安全,你可以只声明所有内容dynamic
并将其称为一天。
答案 1 :(得分:1)
假设您的界面可以修改。以下不能解决您的问题吗?
public interface IClient
{
void UploadToClient<TEnd>(obj o, TEnd endpoint) where TEnd: Endpoint;
}