Eazfuscator. Ошибка возникает при использовании элемента управления DataGridView - PullRequest
8 голосов
/ 20 мая 2011

мой код выглядит следующим образом:

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";

Спасибо

1 Ответ

9 голосов
/ 20 мая 2011

Свойство Name вашего класса Users переименовывается / запутывается. Поэтому в коллекции Columns нет записи для нее.

В Eazfuscator вы можете сделать следующее, чтобы отключить переименование свойства класса:

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

Или для одного объекта:

class MyOneThousandAndFourthClass {

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

}
...