1

ASP.NETでは、MasterPageがあり、C#を使用ContentPlaceHolderしているので、キーワードの有無にかかわらず使用できnew、このクラスのメソッドとプロパティの数は同じです。

つまり、両方

ContentPlaceHolder ctph;

ContentPlaceHolder ctph = new ContenPlanceHolder();

同じメソッドとプロパティがあります。ctphnewキーワードなしで変数を使用できる理由がわかりません。

4

2 に答える 2

2
ContentPlaceHolder ctph;

ctph値がありますdefault(ContentPlaceHolder)。参照型の場合、これはになりますnull。値型の場合、これはすべてのフィールドがデフォルトで初期化された有効なオブジェクトになります。

ContentPlaceHolderは参照型なので、次のように言います。

同じメソッドとプロパティがあります。

ええ、そうですね、それらはタイプによって定義されているからです。Intellisenseを介してこれを決定していますか?うーん...しないでください。メソッドを呼び出して、何が起こるかを確認してください。

于 2012-11-02T21:34:47.150 に答える
0

ええ、でも実行時にできますか?

Intellisense(スペル?)は純粋にコンパイル時の構成であり、最初の例が実行時にnullになり、例外がスローされることを認識していません。メタデータベースのメソッドとプロパティなどを一覧表示するだけです。

于 2012-11-02T21:33:11.070 に答える