C# 包

C#是一种面向对象的编程语言,具有三个主要特征:封装、继承和多态性。所谓封装就是将一个或多个项(函数)集合到一个称为类的单元中,并且可以使用访问修饰符根据需要设置类内成员的范围和可见性。 C# 访问修饰符是:

  • public:public,可以访问所有对象,但必须引用命名空间。
  • private:私有,只能在类内访问。
  • external:内部,可以访问同一个程序集中的对象,并且该程序集是一个命名空间。
  • protected:在类内或类的父类和子类内受保护且可访问。
  • protected external:protected 和 external 的联合。如果与其中任何一个匹配,您就可以访问它。

1.公开

类中用public访问修饰符修饰的成员变量或成员函数可供其他函数和对象使用,并且类中的公共成员(用public修饰的类成员)可以从类外部访问。我们举个例子:

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args)
        {
            Rectangle Obj = new Rectangle();
            Obj.width = 5.5;
            Obj.length = 3;
            Obj.Display();
            Console.ReadLine();
        }
    }

    class Rectangle
    {
        // メンバ変数
        public double width, length;

        public double GetArea()
        {
            return width * length;
        }

        public void Display()
        {
            Console.WriteLine("長方形の長さ:{0}", length);
            Console.WriteLine("長方形の幅:{0}", width);
            Console.WriteLine("長方形の面積:{0}", GetArea());
        }
    }
} 

操作的结果将是:

長方形の長さ:3
長方形の幅:5.5
長方形の面積:16.5

在上面的示例中,成员变量length和width都是公共的并且是可修改的,因此可以在Main函数中使用Rectangle类的实例来访问它们。

2.私人

类中使用 private 访问修饰符修饰的成员变量或成员函数不能被其他函数或对象访问。此类的私有成员无法访问,即使是该类的实例也是如此。只有属于同一类的函数才能访问该类。成员。

我们举个例子:

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args){
            Rectangle Obj = new Rectangle();
            Obj.AcceptDetails();
            Obj.Display();
            Console.ReadLine();
        }
    }
    class Rectangle
    {
        // メンバ変数
        private double width, length;

        public void AcceptDetails(){
            Console.WriteLine("長方形の長さを入力してください: ");
            length = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("長方形の幅を入力してください: ");
            width = Convert.ToDouble(Console.ReadLine());
        }
        public double GetArea(){
            return width * length;
        }
        public void Display(){
            Console.WriteLine("長方形の長さ:{0}", length);
            Console.WriteLine("長方形の幅:{0}", width);
            Console.WriteLine("長方形の面積:{0}", GetArea());
        }
    }
} 

操作的结果将是:

長方形の長さを入力してください:
12.3
長方形の幅を入力してください:
23.4
長方形の長さ:12.3
長方形の幅:23.4
長方形の面積:287.82

在上面的例子中,成员变量length和width都是私有限定的,因此不能通过Demo类的Main函数来访问它们,而只能通过Rectangle类的成员函数AcceptDetails()和Display()来访问。 。另外,Rectangle 的成员函数 AcceptDetails() 和 Display() 已更改为 public,因此可以使用 Rectangle 类实例 Obj 来调用它们。

3. 受保护

类中使用 protected 访问修饰符修改的成员变量和成员函数可以在其子类中访问。也就是说,基(父)类中使用 protected 访问修饰符修改的成员变量和成员函数可以在其子类中访问。类访问。继承变得更容易。我们将在下一章详细讨论继承。

4. 内部

使用内部访问修饰符限定的类中的成员变量和成员函数可供当前程序集中的其他函数或对象使用。这意味着使用内部修饰的成员可以从同一命名空间内的任何类或方法访问。

我们举个例子:

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args){
            Rectangle Obj = new Rectangle();
            Obj.length = 33.3;
            Obj.width = 22.2;
            Obj.Display();
            Console.ReadLine();
        }
    }
    class Rectangle
    {
        // メンバー変数
        internal double width, length;

        double GetArea(){
            return width * length;
        }
        public void Display(){
            Console.WriteLine("長方形の長さ:{0}", length);
            Console.WriteLine("長方形の幅:{0}", width);
            Console.WriteLine("長方形の面積:{0}", GetArea());
        }
    }
} 

操作的结果将是:

長方形の長さ:33.3
長方形の幅:22.2
長方形の面積:739.26

在上面的示例中,不带访问修饰符的成员函数 GetArea() 默认情况下是私有的。

5.内部保护

在类中使用 protected 内部访问修饰符修改的成员可以在该类、派生类或包含程序集(通过 using 引入)中访问,并且在实现继承时也会使用此方法。

通俗易懂的《C#包》讲解!您必须观看的最佳 2 个视频

How to create your own nuget package using Visual Studio 2022
https://www.youtube.com/watch?v=-EXCnzcxmrs&pp=ygUZIEMjIOODkeODg-OCseODvOOCuCZobD1KQQ%3D%3D
Create NuGet packages with Visual Studio | Install and use NuGet package | C# .Net Core
https://www.youtube.com/watch?v=e4bGXbRZSoU&pp=ygUZIEMjIOODkeODg-OCseODvOOCuCZobD1KQQ%3D%3D

C#是一种面向对象的编程语言,具有三个主要特征:封装、继承和多态性。所谓封装就是将一个或多个项(函数)集合到一个称为类的单元中,并且可以使用访问修饰符根据需要设置类内成员的范围和可见性。 C# 访问修饰符是:

  • public:public,可以访问所有对象,但必须引用命名空间。
  • private:私有,只能在类内访问。
  • external:内部,可以访问同一个程序集中的对象,并且该程序集是一个命名空间。
  • protected:在类内或类的父类和子类内受保护且可访问。
  • protected external:protected 和 external 的联合。如果与其中任何一个匹配,您就可以访问它。

1.公开

类中用public访问修饰符修饰的成员变量或成员函数可供其他函数和对象使用,并且类中的公共成员(用public修饰的类成员)可以从类外部访问。我们举个例子:

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args)
        {
            Rectangle Obj = new Rectangle();
            Obj.width = 5.5;
            Obj.length = 3;
            Obj.Display();
            Console.ReadLine();
        }
    }

    class Rectangle
    {
        // メンバ変数
        public double width, length;

        public double GetArea()
        {
            return width * length;
        }

        public void Display()
        {
            Console.WriteLine("長方形の長さ:{0}", length);
            Console.WriteLine("長方形の幅:{0}", width);
            Console.WriteLine("長方形の面積:{0}", GetArea());
        }
    }
} 

操作的结果将是:

長方形の長さ:3
長方形の幅:5.5
長方形の面積:16.5

在上面的示例中,成员变量length和width都是公共的并且是可修改的,因此可以在Main函数中使用Rectangle类的实例来访问它们。

2.私人

类中使用 private 访问修饰符修饰的成员变量或成员函数不能被其他函数或对象访问。此类的私有成员无法访问,即使是该类的实例也是如此。只有属于同一类的函数才能访问该类。成员。

我们举个例子:

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args){
            Rectangle Obj = new Rectangle();
            Obj.AcceptDetails();
            Obj.Display();
            Console.ReadLine();
        }
    }
    class Rectangle
    {
        // メンバ変数
        private double width, length;

        public void AcceptDetails(){
            Console.WriteLine("長方形の長さを入力してください: ");
            length = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("長方形の幅を入力してください: ");
            width = Convert.ToDouble(Console.ReadLine());
        }
        public double GetArea(){
            return width * length;
        }
        public void Display(){
            Console.WriteLine("長方形の長さ:{0}", length);
            Console.WriteLine("長方形の幅:{0}", width);
            Console.WriteLine("長方形の面積:{0}", GetArea());
        }
    }
} 

操作的结果将是:

長方形の長さを入力してください:
12.3
長方形の幅を入力してください:
23.4
長方形の長さ:12.3
長方形の幅:23.4
長方形の面積:287.82

在上面的例子中,成员变量length和width都是私有限定的,因此不能通过Demo类的Main函数来访问它们,而只能通过Rectangle类的成员函数AcceptDetails()和Display()来访问。 。另外,Rectangle 的成员函数 AcceptDetails() 和 Display() 已更改为 public,因此可以使用 Rectangle 类实例 Obj 来调用它们。

3. 受保护

类中使用 protected 访问修饰符修改的成员变量和成员函数可以在其子类中访问。也就是说,基(父)类中使用 protected 访问修饰符修改的成员变量和成员函数可以在其子类中访问。类访问。继承变得更容易。我们将在下一章详细讨论继承。

4. 内部

使用内部访问修饰符限定的类中的成员变量和成员函数可供当前程序集中的其他函数或对象使用。这意味着使用内部修饰的成员可以从同一命名空间内的任何类或方法访问。

我们举个例子:

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args){
            Rectangle Obj = new Rectangle();
            Obj.length = 33.3;
            Obj.width = 22.2;
            Obj.Display();
            Console.ReadLine();
        }
    }
    class Rectangle
    {
        // メンバー変数
        internal double width, length;

        double GetArea(){
            return width * length;
        }
        public void Display(){
            Console.WriteLine("長方形の長さ:{0}", length);
            Console.WriteLine("長方形の幅:{0}", width);
            Console.WriteLine("長方形の面積:{0}", GetArea());
        }
    }
} 

操作的结果将是:

長方形の長さ:33.3
長方形の幅:22.2
長方形の面積:739.26

在上面的示例中,不带访问修饰符的成员函数 GetArea() 默认情况下是私有的。

5.内部保护

在类中使用 protected 内部访问修饰符修改的成员可以在该类、派生类或包含程序集(通过 using 引入)中访问,并且在实现继承时也会使用此方法。

通俗易懂的《C#包》讲解!您必须观看的最佳 2 个视频

How to create your own nuget package using Visual Studio 2022
https://www.youtube.com/watch?v=-EXCnzcxmrs&pp=ygUZIEMjIOODkeODg-OCseODvOOCuCZobD1KQQ%3D%3D
Create NuGet packages with Visual Studio | Install and use NuGet package | C# .Net Core
https://www.youtube.com/watch?v=e4bGXbRZSoU&pp=ygUZIEMjIOODkeODg-OCseODvOOCuCZobD1KQQ%3D%3D