C# 如何使ObjectListView在模糊代码中工作?

C# 如何使ObjectListView在模糊代码中工作?,c#,obfuscation,objectlistview,C#,Obfuscation,Objectlistview,当我混淆代码时停止工作。问题似乎集中在使用AspectName在MainForm.designer.cs中设置列 例如: 模糊处理程序可能正在重命名我的所有方法。有关于如何解决此问题的建议吗?AspectName显然使用了属性的名称,但由于混淆而无法解决此问题 您必须安装一个AspectGetter委托: this.olvColumn1.AspectGetter = delegate(object x) { return ((YourModelClass)x).Name; } 您使用的

当我混淆代码时停止工作。问题似乎集中在使用AspectName在MainForm.designer.cs中设置列
例如:


模糊处理程序可能正在重命名我的所有方法。有关于如何解决此问题的建议吗?

AspectName
显然使用了属性的名称,但由于混淆而无法解决此问题

您必须安装一个
AspectGetter
委托:

this.olvColumn1.AspectGetter = delegate(object x) {
    return ((YourModelClass)x).Name;
}

您使用的混淆器是什么?@IVAAAN123 eazfouscator.net感谢您的快速响应。请您在代码中详细解释一下“YourModelClass”好吗。目前,“this.olvColumn1.AspectGetter”在MainForm.designer.cs中,我无法编辑它,所以我想我需要将代码移到Form1.cs中。我使用Visual Studio中designer视图中可用的控件上的“编辑列…”选项将列名添加到ObjectListView。更详细的示例代码将非常有用。
AspectGetter
不应显示在设计器文件中。如果确实如此,您可以将其移动到Form1.cs。通常,您只需像语法学家指出的那样,在
Form1.cs
中附加委托即可
AspectGetter
优先于
AspectName
。在
AspectGetter
中,可以从任何源返回任何值。OLV将使用ToString来显示该值。请注意,如果要编辑OLV中的值,还必须附加
AspectPutter
YourModelClass
只是一个例子
x
包含相应行的基础模型。将其转换为任何型号。
this.olvColumn1.AspectGetter = delegate(object x) {
    return ((YourModelClass)x).Name;
}