2016-04-15 6 views
0

「...よりメソッドにアクセスしにくい」という「不一致アクセシビリティ」のエラーが2つ続きます。クラスpublicでも一貫性のないアクセシビリティ

私はこの問題の解決策を探しましたが、すべての答えは基本的には「クラスを公開してください」でした。

このクラスはすでに公開されているため、私はつらいです。エラーが発生したのはここ

は次のとおりです。

[DllImport("User32.Dll")] 
public static extern bool GetClientRect(IntPtr hWnd, out RECT lpRect); 

/// <summary> 
/// Get the inner bounds of client window 
/// </summary> 
/// <param name="hWnd"></param> 
/// <returns></returns> 
public static RECT GetClientRect(IntPtr hWnd) 
{ 
    RECT result; 
    GetClientRect(hWnd, out result); 
    return result; 
} 
+7

エラーメッセージ全体をお読みください。おそらく 'RECT'について不平を言っているでしょう。 – SLaks

+0

あなたはそうです。私はそれをRectangleに変更しました。今は大丈夫です。 – Jillinger

答えて

0

右、私はRECTが動作するはずです知っていました。私は間違っていることを理解した。

[DllImport("User32.Dll")] 
public static extern bool GetClientRect(IntPtr hWnd, out RECT lpRect); 

public static RECT GetClientRect(IntPtr hWnd) 
{ 
    RECT result; 
    GetClientRect1(hWnd, out result); 
    RECT appRect = result; 
    return result; 
} 

appRectは、タイプが異なるため、RectangleではなくRECTでなければなりません。 RECTはその構造のために動作します:

[StructLayout(LayoutKind.Sequential)] 
public struct RECT 
{ 
    public int left; 
    public int top; 
    public int right; 
    public int bottom; 
} 
+1

これは質問内のコードから何も変わりません。あなたはあなたの答えとコメントに 'Rectangle'と言いましたが、コードから抜けていますか? –

関連する問題