Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Размерность массива


Автор: Uvs 18.11.2008, 08:51
Всем доброе утро! У меня маленькая проблема.
 
Есть структура и нужно в конструкторе инициализировать массивы, чтоб в них не было "мусора"

  [StructLayout(LayoutKind.Sequential)] 
  public struct PaymentInfo
  {
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] public char[] CurrCode;
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1)] public char[] a;
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 36)]public char[] Account;
........
   


    public PaymentInfo(PaymentInfo p)
     {
      Type type = typeof(PaymentInfo);
      FieldInfo[] fields = type.GetFields();

      foreach (var field in fields)
      {
        Type t = field.FieldType;
        if (t.IsArray)  {
        
         Как узнать размерность каждого массива? И забить туда нужные данные?

        }

      }
     }

 }
Заранее всем спасибо.

Автор: jorikdima 18.11.2008, 10:04
Зачем вы на C# пишете unmanaged code без особой надобности?

Автор: Uvs 18.11.2008, 12:11
потому что нужно из текстовой строки читать данные и "рассовывать" их в структуру

Автор: Rififi 18.11.2008, 12:19
попробуй GetCustomAttributes

Автор: jorikdima 18.11.2008, 14:20
Цитата(Uvs @ 18.11.2008,  12:11)
потому что нужно из текстовой строки читать данные и "рассовывать" их в структуру

Мне тоже такое надо было. Но я сделал Managed и не парюсь. Использовал BitConverter, хотя не спрю, в С++ это делается гораздо более естественно.

Автор: Uvs 27.11.2008, 16:07
Спасиб

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)