C# 如何在表达式lambda中使用Type.GetType

C# 如何在表达式lambda中使用Type.GetType,c#,C#,我正在试着用c#做下一个指令: 但我有一个错误:应该是方法名。 指令的正确用法是什么。由于您有一个类型实例,您需要使用IsAssignableFrom而不是is: x => Type.GetType("MyFormName").IsAssignableFrom(x.GetType()) 当然,这是假设您确实无法在编译时引用实际类型。如果可以,则可以将此代码简化为: .OfType<MyFormName>().FirstOrDefault(); 这就是is操作符的使用方式。如

我正在试着用c#做下一个指令:

但我有一个错误:应该是方法名。


指令的正确用法是什么。

由于您有一个
类型
实例,您需要使用
IsAssignableFrom
而不是
is

x => Type.GetType("MyFormName").IsAssignableFrom(x.GetType())
当然,这是假设您确实无法在编译时引用实际类型。如果可以,则可以将此代码简化为:

.OfType<MyFormName>().FirstOrDefault();

这就是
is
操作符的使用方式。

如果这个问题是关于特定的错误消息,它与lambda表达式无关-在这种情况下,您应该将问题简化为类似
bool a=x is Type.GetType(“MyFormName”)
.OfType<MyFormName>().FirstOrDefault();
x is MyFormName