不同的类类型,对性能感到困惑

本文关键字:性能 类型 | 更新日期: 2023-09-27 18:28:06

好的,类的类型有很多,大多数,我都能理解。

公共可以在所有地方使用

私有只能在该类中使用

Protected有点像Private,我认为

所以,事情是内在的。

在我有DLLPorts的类文件中。我可以使用,内部或公共。两者都有效,但我真的不明白它们之间是否有性能差异?

这是课。

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内部分发,所以如果我想使用它们,我必须调用NativeMethod。(我想要的)。

但是,类本身可以是公共的,也可以是内部的,两者都可以工作,因为每个人都可以使用。它对性能有影响吗?

以前有人问过这个问题,但我感兴趣的是绩效差异,而不是我所知道的每个差异是如何运作的(除了我理解Internet/Public的问题)。

不同的类类型,对性能感到困惑

没有性能差异。不同之处在于,不能使用来自其他程序集的内部类。