C# 这种通用扩展方法的目的是什么?
我在这里被一些遗留代码卡住了,我想不出来。它有什么作用?感谢您的帮助C# 这种通用扩展方法的目的是什么?,c#,generics,extension-methods,C#,Generics,Extension Methods,我在这里被一些遗留代码卡住了,我想不出来。它有什么作用?感谢您的帮助 public static T ResolveNew<T>(this T type) { return UnityContainerHandler.Create().Resolve<T>(); } publicstaticresolvetnew(此T类型) { 返回UnityContainerHandler.Create().Resolve(); } 此代码通过捕获作为参数传递给它的对象的静态
public static T ResolveNew<T>(this T type)
{
return UnityContainerHandler.Create().Resolve<T>();
}
publicstaticresolvetnew(此T类型)
{
返回UnityContainerHandler.Create().Resolve();
}
此代码通过捕获作为参数传递给它的对象的静态已知类型来解析类型T
。对象本身被忽略
换句话说,您可以这样做:
MyClass obj = new MyClass();
MyClass res = obj.ResolveNew();
这将调用扩展名resolvew
,该扩展名将返回
UnityContainerHandler.Create().Resolve<MyClass>();
这样称呼它
var res = Util.ResolveNew<MyClass>(); // assuming Util is the name of the static class
var res=Util.ResolveNew();//假设Util是静态类的名称
将在不降低可读性的情况下产生相同的结果。通过编写
myEntity.ResolveNew()
尝试一下。这完全取决于UnityContainerHandler
是什么。谢谢,伙计,让我开心一天吧!:-D
var res = Util.ResolveNew<MyClass>(); // assuming Util is the name of the static class