Estoy tratando de agregar getters y setters a esta estructura, por lo que puedo usarlo como una fuente de elementos de vista de lista. El problema es que esto hace que MarshalAs no sea válido, por lo que no permite la compilación. ¿Cuál sería la mejor opción para solucionar esto?
El atributo 'MarshalAs' no es válido en este tipo de declaración. Solo es válido en declaraciones de 'campo, parámetro, retorno'.**
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public struct FileExplorerData { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 251)] public string name { get; set; } public FILETIME lastwrite { get; set; } public bool type { get; set; } public int size { get; set; } };Puede especificar el campo subyacente como destino del atributo
[field: MarshalAs(UnmanagedType.ByValTStr, SizeConst = 251)] public string name { get; set; }Esto es válido desde C# 7.3+. Consulte la documentación .