首先我应该提一下,这似乎是重复的,但我似乎无法找到与此特定问题有关的问题。我只发现了一些不能解决这种特定方法的关闭方法,因此无用。
考虑这种情况,我希望将某些内容转换为某种类型。我可能会做一些像这样的事情:
var foo = GetInstanceOfSomeUnknownType();
var cast1 = (MyCustomType)foo;
var cast2 = foo as MyCustomType;
如果出于某种原因我们无法使用名称MyCustomType直接投射,请不要考虑该怎么做。以下不起作用:
var foo = GetInstanceOfSomeUnknownType();
var bar = "Whatever.";
Type someType = foo.GetType();
var cast1 = (someType)bar;
var cast2 = bar as someType;
实质上,您可以使用类型名称执行这些类型的强制转换,但不能使用表示该类型的Type变量。我想使用我想要转换的类型的Type对象而不是其名称来强制转换。有办法解决这个问题吗?