.NET 3.x Структура и список полей структуры - C#
Формулировка задачи:
Здравствуйте, помогите с задачей:
Есть структура:
как мне представить структуру как массив полей (для того чтобы вывести в комбобокс и пользователь мог сам выбирать поле структуры и присваивать ей значение)
Но появился второй вопрос, как можно теперь применить это в запросе как сделать чтобы в запрос вставить переменную из Естественно так как я написал - не работает, по сему и прошу помощи.
struct MyStruct { int ID; int Teg; int Unit; };
Я частично решил проблему, чтобы заполнить
ComboBox
нужными данными из структуры сделал такой метод расширения:public static void SetStructFields<T>(this ComboBox cb) where T : struct { cb.Items.Clear(); DataTable dt = new DataTable(); dt.Columns.Add("ID"); dt.Columns.Add("NAME"); var type = typeof(T).GetMembers(); int i = 0; foreach (var str in type) { dt.Rows.Add(new object[] { str, String.Format("({0:000}) {1}", i, str.Name) }); i++; } cb.DataSource = dt; cb.DisplayMember = "NAME"; cb.ValueMember = "ID"; }
LINQ
? все данные у меня хранятся вDictionary<uint, MyStruct> dict;
Что я имею ввиду: скажем есть такой простенький запрос:var query = from s in dict.Value where s.Teg == val select s;
ComboBox
чтобы было что-то на подобии:var field = ((ComboBox)sender).SelectedValue; var query = from s in dict.Value where s[field] == val select s;
И возможно ли вообще присвоение переменной в єтом участке кода:
dict.Value where s[B][field][/B]
Решение задачи: «.NET 3.x Структура и список полей структуры»
textual
Листинг программы
var field = ((ComboBox)sender).SelectedValue; var query = from s in dict.Value where s.GetType().GetField("field").GetValue(s) == val select s;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д