这就是我需要做的事情:
object foo = GetFoo(); Type t = typeof(BarType); (foo as t).FunctionThatExistsInBarType();
可以这样做吗?
您可以使用Convert.ChangeType方法.
object foo = GetFoo(); Type t = typeof(string); string bar = (string)Convert.ChangeType(foo, t);
你不能.C#没有实现duck typing.
您必须实现一个接口并强制转换为它.
(但是有人试图这样做.看看鸭子打字项目的例子.)