ак перебрать в цикле все переменные класса и присвоить им значени€ C#

08:02:2013 –≥.

 ¬ заметке рассматриваетс€ способ перебора переменных в классе C# функцией этого же класса. ¬стречаютс€ такие случаи, когда всем переменным класса, сколько бы их ни было и какого бы типа они (которые могут быть определенного типа и используютс€ дл€ сходных целей) необходимо присвоить какое-то определенное значение, которое может быть вычисл€емым.  

ƒл€ примера, рассмотрим функцию, котора€ будет очищать значени€ всех переменных типа string внутри определенного класса. »спользу€ этот механизм с переменными дальше можно делать все, что угодно.

internal void Clear()
{
   Type curType = typeof (MyClass);

   FieldInfo[] properties = curType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

    foreach (FieldInfo property in properties)
    {
         if (property.FieldType == typeof(string))
         {
              try
              {
                  property.SetValue(this, string.Empty);
              }
              catch (Exception exception)
              {
                 //ќбрабатываем исключительную ситуацию, пишем логи
              }
         }
   }

— помощью параметров BindingFlags можно выбрать, какие переменные будут выбраны в масив FieldInfo. ¬ данном случае подразумеваетс€, что все выбираемые переменные типа string имеют спецификатор доступа private.

 

ƒобавить комментарий


«ащитный код
ќбновить

« «амена выделенного текста в TextBox C# Windows Forms  ак сериализировать статический класс с XmlSerializer - Singleton »

‘отоальбом

fotic.jpg

ќблако “егов