VisualStuido ConsoleApp
◆アクセス修飾子
・public:すべてのクラスからアクセス可能
・internal:同一アセンブリ※内からのみアクセス可能(アクセス修飾子を省略して宣言した場合はこれ)
※アセンブリ
・ビルドすることによって作られる「実行可能なファイル」のこと。(.exeや.dllファイルのこと)
・VisualStudioでは、基本的に1プロジェクト=1アセンブリ。
なので、「internal」は「同一プロジェクト内でアクセス可能」ということになる。
using System;
namespace ConsoleTest
{
class Program
{
static void Main(string[] args)
{
/*
* オブジェクト初期化子で簡略にする前のインスタンス生成
* var p = new Person();
* p.FirstName = "太郎";
* p.LastName = "田中";
*
*/
// オブジェクト初期化子でインスタンス生成を簡略化
var p = new Person
{
FirstName = "太郎",
LastName = "田中"
};
p.PrintClassName(); // OUTPUT: class Person
p.PrintName(); // OUTPUT: 太郎 田中 is Person.
}
}
}
using System;
namespace ConsoleTest
{
public class Person
{
// 自動プロパティ
public string FirstName { get; set; }
public string LastName { get; set; }
internal void PrintClassName()
{
Console.WriteLine("class Person");
}
internal void PrintName()
{
Console.WriteLine($"{FirstName} {LastName} is Person.");
}
}
}