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