Я пробовал следующий код, используя фреймворк 2.0, и возвращаю атрибут, но когда я пытаюсь это сделать в компактной структуре, он всегда возвращает пустой массив. Предполагаемая MSDN заявка подтверждает, что я делаю что-то неправильно?
Test x = new Test();
FieldInfo field_info = x.GetType().GetField("ArrayShorts");
object[] custom_attributes = field_info.GetCustomAttributes(typeof(MarshalAsAttribute), false);
[StructLayout(LayoutKind.Sequential)]
public struct Test
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
public ushort[] ArrayShorts;
}