我有一个基础抽象类,它允许实现者返回不同的类型:
protected abstract T GetMyValue<T>();
我希望实现类能够做这样的事情:
T myResult;
public override T GetMyValue<T>()
{
return _myResult;
}
我希望调用者指定类型:
int i = obj.GetMyValue<int>();
这可能吗?
最佳答案
像对象扩展?
public static class ObjectExtension
{
public static T GetValue<T>(this object obj)
{
var converter = TypeDescriptor.GetConverter(typeof(T));
if (converter == null)
return default(T);
return (T)converter.ConvertFrom(obj);
}
}
关于c# - 可以返回不同类型的通用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211123/