使用 Type 类型的参数进行转换
Using a parameter of type Type for casting
如何将反序列化得到的对象转换为指定为方法参数的类型
public Base GetDerived(MemoryStream stream, Type type)
{
var obj = deserialzer.Deserialize(stream) ;
// return obj as type
}
其中:
Class Derived: Base {}
类型参数为 typeof(Derived)
您可以执行以下操作,而不是将其作为参数传递
public T GetDerived<T>(MemoryStream stream) where T : Base
{
var obj = (T)deserialzer.Deserialize(stream);
// return obj as type
}
通过
调用
var serialized = obj.GetDerived<MyClass>(stream);
您可以阅读有关泛型方法的更多信息on msdn
如何将反序列化得到的对象转换为指定为方法参数的类型
public Base GetDerived(MemoryStream stream, Type type)
{
var obj = deserialzer.Deserialize(stream) ;
// return obj as type
}
其中:
Class Derived: Base {}
类型参数为 typeof(Derived)
您可以执行以下操作,而不是将其作为参数传递
public T GetDerived<T>(MemoryStream stream) where T : Base
{
var obj = (T)deserialzer.Deserialize(stream);
// return obj as type
}
通过
调用var serialized = obj.GetDerived<MyClass>(stream);
您可以阅读有关泛型方法的更多信息on msdn