我实现了从字符串到名为 Foo 的对象的显式转换。
所以 => Foo f = (Foo)"foo 数据"; 作品
我需要实现一个将字符串转换为通用 T 的函数,在这种情况下,T 是 Foo 数据类型。
public T Get<T>(object o){
// this always return false
if (typeof(T).IsAssignableFrom(typeof(String)))
{
// when i by pass the if above this throws invalid cast exception
return (T)(object)str;
}
return null;
}
// When I call this, it generated an error
// Invalid cast from 'System.String' to Foo
Foo myObj = Get<Foo>("another foo object");
// when I use the dynamic keyword it works but this is C# 4.0+ feature, my function is in the older framework
return (T)(dynamic)str;