好的,有很多类型的课程,大多数,我明白。
public 可以到处使用
Private 只能在该类中使用
受保护的东西我认为是私人的
所以,事情是内部的。
在我有 DLLImports 的类文件中。我可以使用,内部或公共。两者都有效,但我真的不明白它们之间是否存在性能差异?
这是课程。
namespace Capture
{
internal static class NativeMethods
{
//USER32
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
internal static extern bool PrintWindow(IntPtr hWnd, IntPtr hdcBlt, int nFlags);
//GDI32
[DllImport("user32.dll")]
internal static extern IntPtr GetWindowDC(IntPtr hWnd);
[DllImport("gdi32.dll")]
internal static extern IntPtr CreateCompatibleBitmap(IntPtr hdc, int nWidth, int nHeight);
[DllImport("gdi32.dll")]
internal static extern int BitBlt(
IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, System.Int32 dwRop);
[DllImport("gdi32.dll")]
internal static extern IntPtr CreateCompatibleDC(IntPtr hdc);
[DllImport("gdi32.dll")]
internal static extern IntPtr SelectObject(IntPtr hdc, IntPtr obj);
[DllImport("gdi32.dll")]
internal static extern int DeleteObject(IntPtr obj);
}
}
所以一切都是内部的,我想这很好,因为它们只能从 NativeMethods 中分发,所以如果我想使用它们,我必须调用 NativeMethods。(我想要的)。
但是,类本身可以是公共的或内部的,两者的工作方式相同,因为每个人都可以使用。对性能有影响吗?
以前有人问过这个问题,但我对性能差异感兴趣,而不是我知道它们中的大多数是如何工作的(除了我理解内部/公共的问题)。