[ANN] P/Invoke Interop Assistant
От: Аноним  
Дата: 24.06.08 18:24
Оценка:
Выложили на CodePlex замечательную утилитку P/Invoke Interop Assistant
Описание утилиты можо найти в январьском номере MSDN Magazine

Надеюсь эта утилитка уменьшит кол-во вопросов связанных с P/Invoke
Re: [ANN] P/Invoke Interop Assistant
От: adontz Грузия http://adontz.wordpress.com/
Дата: 24.06.08 19:49
Оценка: 4 (1)
Здравствуйте, Аноним, Вы писали:

Вот этот код
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public struct HWND__ {
    
    /// int
    public int unused;
}

public partial class NativeMethods {
    
    /// Return Type: LRESULT->LONG_PTR->int
    ///hWnd: HWND->HWND__*
    ///Msg: UINT->unsigned int
    ///wParam: WPARAM->UINT_PTR->unsigned int
    ///lParam: LPARAM->LONG_PTR->int
    [System.Runtime.InteropServices.DllImportAttribute("user32.dll", EntryPoint="SendMessageW")]
    [return: System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.SysInt)]
public static extern  int SendMessageW([System.Runtime.InteropServices.InAttribute()] System.IntPtr hWnd, uint Msg, [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.SysUInt)] uint wParam, [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.SysInt)] int lParam) ;

}

вместо вот этого
public partial class NativeMethods
{
    [DllImport("user32.dll")]
    [return: MarshalAs(UnmanagedType.SysInt)]
    public static extern int SendMessageW(
         [In] IntPtr hWnd,
         [In] uint Msg,
         [In][MarshalAs(UnmanagedType.SysUInt)] uint wParam,
         [In][MarshalAs(UnmanagedType.SysInt)] int lParam);
}

я использовать никогда не буду.

Для well-known функции был сгенерирован избыточный и несогласованный код. Не используются пространства имён, структура HWND__ объявлена, нон е используется, аттрибут In проставлен но не везде. вобщем утилита в достаточно большой степени бесполезная.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: [ANN] P/Invoke Interop Assistant
От: Хэлкар  
Дата: 25.06.08 06:47
Оценка:
Утилитка всеже часто полезная, вот только вышла она уж пару лет назад (возможно не она, но софтина с таким же названием и функционалом).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.