1

我在第三方组件中有一个方法,可以像下面的代码一样调用它:

ICustomer log = Axis.GetInstance<ICustomer>();

由于我不想将上述第三方组件直接暴露给所有调用者,我决定创建一个调用第三方“Axis.GetInstance()”的包装器方法,我的问题是如何传递类型 T 并调用泛型方法中的方法

调用代码:

var result = Util.MyCustomWrapper<ICustomer>();


public class Util
{
  public static T MyCustomWrapper<T>()
  {

    1.call Axis.GetInstance<T>(); // **how to pass the type T**
    2.return T

  }
}
4

2 回答 2

3

该方法可以像您编写的那样调用:

public static T MyCustomWrapper<T>()
{
    return Axis.GetInstance<T>();
}
于 2012-09-14T22:36:41.437 回答
0
public class Util
{
    public static T MyCustomWrapper<T>()
    {
        T customer = Axis.GetInstance<T>(); 
        return customer;
    }
}

加上要编译的其他类型

public interface ICustomer { }
public class Axis
{
    public static T GetInstance<T>() 
    {
        throw new NotImplementedException();
    }
}
于 2012-09-14T22:41:11.777 回答