[インスタンス]C#のプロパティの学習

4132 ワード

属性はC#からVB.NET言語で参考にしたプログラミング技術なので、勉強を始めたばかりの頃は、クラスCスタイルの言語プログラミング習慣とは違うと感じていました.最初から(変数を定義する)
ページに「ハローワールド!」と表示したい場合.まず、このプログラムの作成方法を見てみましょう.
まず、ASP.Netのaspxファイルにlabelサービス側コントロールを書いて、「Hello World」という値を置くことができます.次のようになります.

   <asp:Label ID="label1" runat="server" />
 
そして、対応するaspx.csファイルで上のIDがlabel 1のこのコントロールの属性Textに「Hello World!」と設定します.次のようになります.

   label1.Text = "Hello World!";
 
上のコードをPage_に書きますLoad()メソッド内では、このようにASP.Netページがロードされると、そのコントロールのTextがページに表示されます.
このように書くプログラムは、labelコントロールのText値を1つのページにしか書かない場合ですが、labelコントロールがあり、「Hello World」という値を置きたいページが複数ありますか?以下、「コンポーネント」という概念を導入する.
私たちはWebSiteというモデルを開発する過程でマイクロソフトのASP.Net 2.0フレームワークには、App_Codeはデフォルトでcsファイルを置く「コンポーネント」用です.
App_Codeに「HelloWorld」というcsファイルを新規作成し、class(クラス)をstatic(静的)で修飾します.つまり静的クラスです.このクラスではSayMessage()メソッドと呼ばれ、「Hello World」という値を返すために使用されます.コードは次のとおりです.

   public static class HelloWorld
{
public static string SayMessage()
{
return "Hello World!";
}
}
次にaspx.csファイルでPage_Load()のコードは次のように書き換えられます.

   label1.Text = HelloWorld.SayMessage();
次はcsは次のように書き換えられます.
public static class HelloWorld
{
    private static string _helloworld = String.Empty;

    public static string Helloworld
    {
        get
        {
            _helloworld = "Hello World";
            return _helloworld;
        }
        set
        {
            _helloworld = value;
        }
    }
}

aspx.csのコードは次のように書き換えられます.
label1.Text = HelloWorld.Helloworld;
上にC#属性の適用例を示します.