サーチ…
備考
using
キーワードは、ディレクティブ(このトピック)とステートメントの両方です。
using
ステートメント(つまり、 IDisposable
オブジェクトのスコープをカプセル化し、そのスコープの外にオブジェクトがきれいに配置されることを保証する)については、 Using Statementを参照してください。
基本的な使用法
using System;
using BasicStuff = System;
using Sayer = System.Console;
using static System.Console; //From C# 6
class Program
{
public static void Main()
{
System.Console.WriteLine("Ignoring usings and specifying full type name");
Console.WriteLine("Thanks to the 'using System' directive");
BasicStuff.Console.WriteLine("Namespace aliasing");
Sayer.WriteLine("Type aliasing");
WriteLine("Thanks to the 'using static' directive (from C# 6)");
}
}
名前空間を参照する
using System.Text;
//allows you to access classes within this namespace such as StringBuilder
//without prefixing them with the namespace. i.e:
//...
var sb = new StringBuilder();
//instead of
var sb = new System.Text.StringBuilder();
ネームスペースにエイリアスを関連付ける
using st = System.Text;
//allows you to access classes within this namespace such as StringBuilder
//prefixing them with only the defined alias and not the full namespace. i.e:
//...
var sb = new st.StringBuilder();
//instead of
var sb = new System.Text.StringBuilder();
クラスの静的メンバーへのアクセス
6.0
特定のタイプをインポートし、タイプ名で修飾せずにそのタイプのスタティックメンバーを使用できます。これは、静的メソッドを使用した例を示しています。
using static System.Console;
// ...
string GetName()
{
WriteLine("Enter your name.");
return ReadLine();
}
これは、静的なプロパティとメソッドを使用した例を示しています。
using static System.Math;
namespace Geometry
{
public class Circle
{
public double Radius { get; set; };
public double Area => PI * Pow(Radius, 2);
}
}
コンフリクトを解決するためのエイリアスの関連付け
同じ名前のクラス( System.Random
やUnityEngine.Random
など)を持つ可能性のある複数の名前空間を使用している場合は、別名を使用して、 Random
が呼び出しの名前空間全体を使用することなく、 。
例えば:
using UnityEngine;
using System;
Random rnd = new Random();
これにより、新しい変数を評価するRandom
変数がコンパイラによって不明確になります。代わりに、次のことができます。
using UnityEngine;
using System;
using Random = System.Random;
Random rnd = new Random();
これは完全修飾型の名前空間で他のものを呼び出すことを妨げるものではありません。
using UnityEngine;
using System;
using Random = System.Random;
Random rnd = new Random();
int unityRandom = UnityEngine.Random.Range(0,100);
rnd
はSystem.Random
変数になり、 unityRandom
はUnityEngine.Random
変数になります。
別名ディレクティブの使用
using
すると、名前空間または型のエイリアスを設定できます。詳細はこちらをご覧ください 。
構文:
using <identifier> = <namespace-or-type-name>;
例:
using NewType = Dictionary<string, Dictionary<string,int>>;
NewType multiDictionary = new NewType();
//Use instances as you are using the original one
multiDictionary.Add("test", new Dictionary<string,int>());
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow