如何将类型作为参数传递给泛型返回对象

时间:2012-10-31 08:41:47

标签: c# generics

我有一个方法Handle,它需要返回一个泛型类型GetCmdResult。现在,类型是正在发送的参数。但是如果我写“return new GetCmdResult”或“new PSDto()”,它会抛出编译时错误。我们如何将Type传递给泛型?

public class GetCmdResult<T> : CR
{
    public PSDto<T> PS{ get; set; }
}

public CR Handle(Type type)
{
    return new GetCmdResult<type>
               {
                   PS= new PSDto<type>()
               };
}

1 个答案:

答案 0 :(得分:7)

可以在此方法上使用通用参数。

public CR Handle<T>(    
{
     return new GetCmdResult<T>
                   {
                       PS= new PSDto<T>()
                   };
}