none
Отображение неуправляемых и управляемых типов RRS feed

  • Вопрос

  • Здравствуйте. Не могли бы вы подсказать линки на четкие правила по каким законам происходит отображение неуправляемых типов на С в типы на С#. Я пишу вроппер для библиотеки на С и совсем запутался как правильно писать оболочки для С-шных структур. Или, например, не знаю как отображаются двойные указатели void**, не знаю что использовать вместо char[], char* - string или byte[] и т.д.

    • Перемещено Siddharth Chavan 1 октября 2010 г. 21:54 MSDN Forums Consolidation (От:Visual C#)
    22 октября 2009 г. 11:47

Ответы

  • На C# это можно определить так:

    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
    public struct TColumn {
        [MarshalAs(UnmanagedType.LPStr)]
        public string filename;
        
        [MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst=12)]
        public string zcmptype;
    }
    [StructLayout(LayoutKind.Sequential)]
    public struct FitsFile {
        public System.IntPtr headstart;
        public System.IntPtr tableptr;
    }

    - Dmitri Nesteruk
    • Помечено в качестве ответа OlegGel 24 октября 2009 г. 7:57
    23 октября 2009 г. 21:20

Все ответы