[英]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);
您可以在msdn上阅读有关通用方法的更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.