在 C# 中,可以使用 BindingFlags 参数来指定在获取属性时是否忽略大小写。\n\n例如,可以使用 BindingFlags.IgnoreCase 来忽略大小写,如下所示:\n\ncsharp\nusing System;\nusing System.Reflection;\n\nclass MyClass\n{\n public string MyProperty { get; set; }\n}\n\nclass Program\n{\n static void Main(string[] args)\n {\n MyClass obj = new MyClass();\n obj.MyProperty = \"Hello, World!\";\n\n // 使用 BindingFlags 参数来忽略大小写\n PropertyInfo property = obj.GetType().GetProperty(\"myproperty\", BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance);\n\n if (property != null)\n {\n Console.WriteLine(property.GetValue(obj));\n }\n else\n {\n Console.WriteLine(\"Property not found\");\n }\n }\n}\n\n\n上述代码会输出 "Hello, World!",尽管属性名是以小写形式传递给 GetProperty 方法的。\n\n请注意,使用 BindingFlags.IgnoreCase 可能会导致性能下降,因为它需要在所有可能的属性名称上进行比较。因此,只有在确实需要忽略大小写时才使用它。

C# GetProperty 忽略大小写 - 使用 BindingFlags.IgnoreCase

原文地址: https://www.cveoy.top/t/topic/l0QI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录