8

我的代码如下:

IList<Users> myData = new List<Users>();

myData = HelperUsers.GetUsersList(); // return IList<Users>

BindingSource bsUsers = new BindingSource { DataSource = myData };
dataGridViewUsers.DataSource = bsUsers;

dataGridViewUsers.Columns["Name"].HeaderText = "Name";
dataGridViewUsers.Columns["LastName"].HeaderText = "Last name";

dataGridViewUsers.Invalidate();

在调试中仍然可以完美工作,但是当编译为发布时,会出现以下错误“对象引用未设置为对象的实例”。在行中:

dataGridViewUsers.Columns["Name"].HeaderText = "Name";

谢谢

4

1 回答 1

9

您的 Users 类的 Name 属性正在被重命名/混淆。因此 Columns 集合没有它的条目。

根据 Eazfuscator,您可以执行以下操作来禁用类属性重命名:

[System.Reflection.ObfuscationAttribute(Feature = "properties renaming")]
class MyOneThousandAndThirdClass {
    // ...
}

或者对于单个属性:

class MyOneThousandAndFourthClass {

    [System.Reflection.ObfuscationAttribute(Feature = "renaming")]
    public string DisplayName
    {
        get;
        set;
    }

}
于 2011-05-20T17:45:59.663 回答