使用类型变量' Type'而不是类型名称

时间:2016-08-25 19:43:53

标签: c# reflection casting

首先我应该提一下,这似乎是重复的,但我似乎无法找到与此特定问题有关的问题。我只发现了一些不能解决这种特定方法的关闭方法,因此无用。

考虑这种情况,我希望将某些内容转换为某种类型。我可能会做一些像这样的事情:

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对象而不是其名称来强制转换。有办法解决这个问题吗?

0 个答案:

没有答案