Проверить существование поля объекта - C#
Формулировка задачи:
Как проверить существование определённого поля (переменной) у объекта?
В метод leadLocalLog передаётся объект формы и сообщение. Этот метод должен проверить если у текущей переданной формы поле toolStripStatusLabel1 что бы туда записать сообщение. Суть в том, что этот метод ещё и пишет сообщения в общий лог, поэтому проще просто отовсюду вызывать его передавая объект формы и сообщение а он записывает данные куда надо. У меня просто программа с множеством форм у которых есть toolStripStatusLabel1.
В общем это не важно. Главное как узнать существует ли у объекта определённое поле или нет?
я как только не пробовал...
public void leadLocalLog(Object obj, string message) { Program.log.writeData(message); Type type = obj.GetType(); PropertyInfo propertyInfo = type.GetProperty("toolStripStatusLabel1"); if (propertyInfo != null) { Type type1 = propertyInfo.GetType(); PropertyInfo propertyInfo1 = type1.GetProperty("Text"); if (propertyInfo1 != null) { propertyInfo1 = (string)message; } } } public void leadLocalLog(Object obj, string message) { Program.log.writeData(message); Type type = obj.GetType(); PropertyInfo propertyInfo = type.GetProperty("toolStripStatusLabel1"); if (propertyInfo != null) { obj.toolStripStatusLabel1.Text = message; } } public void leadLocalLog(Object obj, string message) { Program.log.writeData(message); if (obj.toolStripStatusLabel1 != null) { obj.toolStripStatusLabel1.Text = message; } }
Решение задачи: «Проверить существование поля объекта»
textual
Листинг программы
public void leadLocalLog(Form obj, string controlName, string message) { Program.log.writeData(message); // controlName = "toolStripStatusLabel1" var controls = obj.Find(controlName,true); if (controls.Any()){ // do ur job } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д