私は Tutorialspoint.com の C# カプセル化に取り組んでいます。そして私はこれを読みました
Public、Private、Protected、Nothing の違いは何ですか? 1Stackoverflow からの質問です。私は答えを読み、テオリックのアクセス指定子を理解しました。今、私はビジュアル スタジオでこのテーマでコンソール アプリケーションを作成したいと考えています。
公衆
型またはメンバーには、同じアセンブリまたはそれを参照する別のアセンブリ内の他のコードからアクセスできます。
プライベート
型またはメンバーは、同じクラスまたは構造体のコードによってのみアクセスできます。
保護された
型またはメンバーは、同じクラスまたは構造体、または派生クラス内のコードによってのみアクセスできます。
内部
型またはメンバーは、同じアセンブリ内の任意のコードからアクセスできますが、別のアセンブリからはアクセスできません。
保護された内部
型またはメンバーには、同じアセンブリ内の任意のコード、または別のアセンブリ内の任意の派生クラスからアクセスできます。
public アクセス指定子を持つ変数またはメソッドは、同じアセンブリと別のアセンブリからアクセスされます。しかし、この駅は内部の説明が異なります。内部型の変数とメソッドは、同じアセンブリにのみアクセスできますが、C# の異なるアセンブリにはアクセスできません。このステーションを C# でテストしたいので、2 つのプロジェクトを作成し、相互にメソッドまたは変数を呼び出します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TutorialsPoint.Encapsulation
{
public class PublicEncapsulation
{
//member variables
public double length;
public double width;
public double GetArea()
{
return length * width;
}
public void Display()
{
Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea());
}
}
}
上記のコードは私の「PublicEncapsulation.cs」であり、他のアセンブリからそのメンバーを呼び出す必要があります。他のアセンブリ プロジェクトのクラスは Program.cs です。Program.cs(他のアセンブリ)からPublicEncapsulation.csのメンバーを接続したい。C#で他のアセンブリからこの呼び出し操作を行うにはどうすればよいですか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.CompilerServices;
using System.Collections;
namespace CallOtherAssemblyVariablesOrMethods
{
class Program
{
static void Main(string[] args)
{
/*Call PublicEncapsulation.cs's members in there.*/
}
}
}
上記のクラスは Program.cs です。ここで、他のアセンブリ PublicEncapsulation.cs のメンバーを呼び出したいと思います。