我已经看过这个问题的反面很多次了,但是还没有看到如何做我想做的事情.
假设我有以下代码:
var myNewData = from t in someOtherData
select new
{
fieldName = t.Whatever,
fieldName2 = t.SomeOtherWhatever
};
Run Code Online (Sandbox Code Playgroud)
如果我希望数据绑定到此类,我的列定义必须包括硬编码字符串,如"fieldName"和"fieldName2".
有没有办法调用反射或其他东西,以便我可以做一些与下面的代码相同的事情(我知道下面的代码是无效的,但我正在寻找一个有效的解决方案).
string columnName = GetPropertyName(myNewData[0].fieldName);
Run Code Online (Sandbox Code Playgroud)
我的目标是,如果变量名在匿名类上发生更改,则会在修复所有引用之前出现编译时错误,这与当前数据绑定不同,后者依赖于直到运行时才检查的字符串.
任何帮助,将不胜感激.