C# 属性名称为字符串时的对象字段值

C# 属性名称为字符串时的对象字段值,c#,C#,我有一个模型类的对象 我必须返回名称作为字符串参数提供的对象的字段 有没有比编写多个if条件更好的方法 提前感谢。您可以使用反射按名称检索属性值 首先,获取代表您班级的Instance。例如,如果类型在编译时已知(包括如果它是泛型类型参数),则使用typeof运算符,或者使用GetType()方法 然后,可以使用检索具有给定名称的属性。(请注意,在更复杂的情况下,例如显式接口实现,可能需要该方法的多个重载。) GetProperty方法将返回一个实例,通过该实例可以检索值 例如: object

我有一个模型类的对象

我必须返回名称作为字符串参数提供的对象的字段

有没有比编写多个
if
条件更好的方法

提前感谢。

您可以使用反射按名称检索属性值

首先,获取代表您班级的Instance。例如,如果类型在编译时已知(包括如果它是泛型类型参数),则使用
typeof
运算符,或者使用
GetType()
方法

然后,可以使用检索具有给定名称的属性。(请注意,在更复杂的情况下,例如显式接口实现,可能需要该方法的多个重载。)

GetProperty
方法将返回一个实例,通过该实例可以检索值

例如:

object propertyValue = myObject.GetType().GetProperty("SomeProperty").GetValue(myObject);

你能发布你现有的代码吗?您应该能够使用反射。@JohnathanBarclay:在这个问题中是否有任何不明确的地方需要代码?我认为这将有助于OP了解他们应该用代码突出显示或演示什么,以便他们能够充分权衡MWE(最小工作示例)中的M和E部分。@O.R.Mapper“返回字段”对我来说不是100%清楚。此外,如果显示代码,答案可以在特定的上下文中,这可能对OP更有帮助。