如何将Type t;中的t作为T传入 public T deserilize<T>(Message msg)里的T
时间: 2024-05-08 21:22:14 浏览: 79
Android Handler移除Message详解及实例代码
如果 Type t 是在运行时动态获取的,那么您可以使用 typeof 操作符来获取类型,然后将其传递给泛型方法。例如:
```
Type t = typeof(MyClass);
MyClass obj = serializer.Deserialize<MyClass>(msg, t);
```
如果 Type t 是在编译时已知的,则可以直接将其传递给泛型方法:
```
MyClass obj = serializer.Deserialize<MyClass>(msg, typeof(MyClass));
```
在 Deserialize 方法中,您可以使用 Type 类型的参数来动态创建对象。例如:
```
public T Deserialize<T>(Message msg, Type t)
{
T obj = (T)Activator.CreateInstance(t);
// 从 Message 中反序列化 obj
return obj;
}
```
阅读全文