Eazfuscator. Ошибка возникает при использовании элемента управления DataGridView

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

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 ответ

Решение

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

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

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

Или для одного свойства:

class MyOneThousandAndFourthClass {

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

}
Другие вопросы по тегам