我想要一个方法的委托,该方法采用一个参数并返回结果,两者均为相同类型。
我还希望由泛型类型参数确定类型,但是以下语法使我无法使用。

delegate T SomeDelegate(T param)<T>;


我怎样才能做到这一点?

最佳答案

您必须在代表名称和方括号之间放入<T>delegate T SomeDelegate<T>(T param);。在右括号之后,您只能说T必须是哪种类型,以确保传递正确的类型。例如:

delegate T SomeDelegate<T>(T param) where T : IDisposable;


通常,这是必要的,以确保T被Disposable继承。因此,您以后可以将T强制转换为IDposposable并调用该接口的某些方法。

请注意,只有接口才能成为用户进行过滤。

10-06 11:41