.NETでのusingの使い方

2090 ワード

1.using命令.USing+ネーミングスペース名は、Javaのimportのように、プログラム内でコマンドスペースのタイプを直接使用することができ、タイプの詳細なネーミングスペースを指定する必要はありません.この機能も最も一般的で、ほとんどのcsのプログラムで使用されます.例:using System;普通は*に現れます.csで.2.using別名.using+別名=詳細なネーミングスペース情報を含む特定のタイプ.この方法には、同じcsが2つの異なるネーミングスペースを参照しているが、2つのネーミングスペースに同じ名前のタイプが含まれている場合の利点がある.このタイプを使用する必要がある場合は、各場所で同じ名前のタイプを詳細なネーミングスペースで区別します.別名を使う方法はもっと簡潔で、どのクラスを使ってどのクラスに別名宣言をすればいいのか.注意:2つの名前が重複しているわけではありません.そのうちの1つに別名を使用します.もう1つは別名を使用する必要はありません.両方を使用する場合は、両方ともusingで別名を定義する必要があります.例:
using System; 
using aClass = NameSpace1.MyClass; 
using bClass = NameSpace2.MyClass; 

namespace NameSpace1  
{ 
    public class MyClass  
    { 
        public override string ToString()  
        { 
            return "You are in NameSpace1.MyClass"; 
        } 
    } 
} 

namespace NameSpace2  
{ 
    class MyClass  
    { 
        public override string ToString()  
        { 
            return "You are in NameSpace2.MyClass"; 
        } 
    } 
} 

namespace testUsing 
{ 
    using NameSpace1; 
    using NameSpace2; 
    /**//// <summary> 
    /// Class1      。 
    /// </summary> 
    class Class1 
    { 
        /**//// <summary> 
        ///          。 
        /// </summary> 
        [STAThread] 
        static void Main(string[] args) 
        { 
            // 
            // TODO:                
            // 
             
            aClass my1 = new aClass();             
            Console.WriteLine(my1); 
            bClass my2 = new bClass(); 
            Console.WriteLine(my2); 
            Console.WriteLine("Press any key"); 
            Console.Read(); 
        } 
    } 
}

3.using文、範囲を定義し、範囲終了時にオブジェクトを処理します.シーン:あるコードセグメントでクラスのインスタンスが使用されている場合、そのコードセグメントを離れると、そのクラスのインスタンスのDisposeが自動的に呼び出されます.このような目的を達成するにはtryで...catchで異常を捕まえるのもいいですが、usingでも便利です.例:
using (Class1 cls1 = new Class1(), cls2 = new Class1()) 
{ 
  // the code using cls1, cls2 
  
} // call the Dispose on cls1 and cls2

ここでcls 1とcls 2をトリガするDispose条件は、using文の末尾または途中で異常が発生し、文ブロックから離れることを制御することである.