0

.Netではすべてのものはオブジェクトですが、質問があります。メソッドを書く

public static MvcHtmlString ObjectTable(this HtmlHelper helper, 
                              ICollection<Object> objects, ICollection<string> header)

しかし、system.objectを追加せず、名前空間を追加するとエラーが発生します。私の質問は次のとおりです:.NET駆動型フォームオブジェクトのすべてのものが、なぜ名前空間を追加する必要があるのですか?

4

3 に答える 3

3

すべてがであるからといって、名前空間に含めることができないObjectという意味ではありません。そしてそれはそうです、そしてそれは通常の名前空間規則に従います。ObjectSystem

(ただし、小文字のobjectエイリアスを使用せずusing Systemに使用することもできます。)

于 2012-09-16T16:40:22.037 に答える
3

ディレクティブを追加する目的は、using名前空間内で名前を完全に修飾せずに使用できるようにすることです。

したがって、ディレクティブを追加する必要はありませんusingあなたは書くことができます:

public static MvcHtmlString ObjectTable(this HtmlHelper helper, 
    ICollection<System.Object> objects, ICollection<string> header)

または、常にのエイリアスであるようにobject、次のように書くことができます。System.Object

public static MvcHtmlString ObjectTable(this HtmlHelper helper, 
    ICollection<object> objects, ICollection<string> header)

ちなみに、すべてがオブジェクトから派生しているわけではありません...

于 2012-09-16T16:48:07.777 に答える
2

あなたが言うように、すべてはObjectから派生しますが、System.Objectは、明示的に参照するか(System.Object)、名前空間にusingを追加する必要があるという点で、参照する他のすべてのタイプとまったく同じです。

それ以外の動作をさせると、.Netの他の部分と矛盾し、さらに混乱を招く可能性があります。

于 2012-09-16T16:45:17.647 に答える