Я искал много, но не смог найти решение. Вероятно, я использую неправильные ключевые слова. У меня есть класс, который является в основном расширенной версией элемента управления ListView.C# Массивы как свойства класса
Я определил некоторые пользовательские атрибуты для моего настроенного ListView, такие как имя_файла, OrderType и т. Д., И они работают нормально.
Я также хочу передать массив в мой класс, который включает ColumnNames для заполнения данных внутри класса.
В MyListView
Класс
public class ColumnNames : Attribute
{
public string[] Values { get; set; }
public ColumnNames(params string[] values)
{
this.Values = values;
}
}
[ColumnNames("a1","a2","a3","a4","a5","a6","a7","a8","a9")]
public MyListView() {
for (int i = 0; i < 7; i++)
this.Columns.Add(this.ColumnNames[i]);
}
В Form1
Класс
MyListView lstv = new MyListView();
lstv.ColumnNames[0] = "hede1";
lstv.ColumnNames[1] = "hede2";
lstv.ColumnNames[2] = "hede3";
EDIT: я просто не мог достичь того, чего я хотел. Не могли бы вы показать мне рабочий пример этого?
Этот список используется для отображения информации, взятой из базы данных. (Я использую ListView вместо DataGrid) Я хочу передать имена столбцов этому классу, который будет использоваться как для SQL-запроса «SELECT xxxxx, yyyyy, zzzz FROM table;» и имена столбцов this.columns.add ("xxxxx"); this.columns.add ("YYYYY"); this.columns.add ("ZZZZZ");
Не уверен, что вы просите , Какая у вас проблема? –
Так в чем вопрос? –
Я просто не мог достичь того, чего хотел. Не могли бы вы показать мне рабочий пример этого? Я отредактировал вопрос, извините за это. – noway