C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.64870 の関連記事表示

<< 0 >>
■64870  プロパティとメソッドの考え方について
□投稿者/ 悩み多きランナー -(2013/01/19(Sat) 01:20:16)

    分類:[C#] 

    お世話になります。

    C#でインメモリデータのテーブルを扱うDataTableクラスについて学習しています。
    DataTableクラスを使用してカラム追加を考える時にテーブルの項目定義で使用するDataColumnオブジェクトが
    ありますがMSDNライブラリにはDataColumn オブジェクトの作成にはColumns プロパティの Add メソッドを呼び出しますと
    あります。
    http://msdn.microsoft.com/ja-jp/library/hfx3s9wd(v=vs.80).aspx

    ここでColumnsプロパティのAddメソッドという表現がよくわからなくて、プロパティはオブジェクトの属性値で
    メソッドはオブジェクトが持っている機能・働きでオブジェクトの中でプロパティとメソッドは
    分離しているイメージを持ってました。

    ここで指すColumsプロパティという属性値のAddメソッドとはどのように解釈したらよいのかご教示ください。

    よろしくお願い致します。
親記事 /過去ログ109より / 関連記事表示
削除チェック/

■64871  Re[1]: プロパティとメソッドの考え方について
□投稿者/ 魔界の仮面弁士 -(2013/01/19(Sat) 02:57:10)
    No64870 (悩み多きランナー さん) に返信
    > DataTableクラスを使用してカラム追加を考える時にテーブルの項目定義で使用するDataColumnオブジェクトが
    > ありますがMSDNライブラリにはDataColumn オブジェクトの作成にはColumns プロパティの Add メソッドを呼び出しますと
    > あります。
    > http://msdn.microsoft.com/ja-jp/library/hfx3s9wd(v=vs.80).aspx

    訳文も原文も誤解を招くような表現になっていますが、ここで言われていることは、
    DataTable の Column プロパティ…これは DataColumnCollection を返すものであり、
    その DataColumnCollection の Add メソッドを呼ぶことで列を追加することができる、のような意味かと。
記事No.64870 のレス /過去ログ109より / 関連記事表示
削除チェック/

■64874  Re[2]: プロパティとメソッドの考え方について
□投稿者/ 悩み多きランナー -(2013/01/19(Sat) 12:05:15)
    No64871 (魔界の仮面弁士 さん) に返信

    > 訳文も原文も誤解を招くような表現になっていますが、ここで言われていることは、
    > DataTable の Column プロパティ…これは DataColumnCollection を返すものであり、
    > その DataColumnCollection の Add メソッドを呼ぶことで列を追加することができる、のような意味かと。

    回答ありがとうございます。

    ”DataTable の Column プロパティ…これは DataColumnCollection を返すものであり”とありますが
    プロパティの中にDataColumnCollection(コレクション)を保持しているということでしょうか?
    プロパティには値だけでなくオブジェクトやコレクションをクラスによって持つ場合があるということでしょうか?

    よろしくお願い致します。
記事No.64870 のレス /過去ログ109より / 関連記事表示
削除チェック/

■64875  Re[3]: プロパティとメソッドの考え方について
□投稿者/ Azulean -(2013/01/19(Sat) 12:14:30)
    No64874 (悩み多きランナー さん) に返信
    > プロパティには値だけでなくオブジェクトやコレクションをクラスによって持つ場合があるということでしょうか?

    プロパティは int 型などのような値型のほかに、Control 型などのような参照型を返すことができます。

    たとえば、Form クラスの ActiveControl プロパティだと今、フォーカスがあるコントロールの参照(インスタンス)を取得できます。
    このため、this.ActiveControl.Name というようにつなげて書くこともできます。これは ActiveControl が Control のオブジェクトを返しているので、そのオブジェクトの Name プロパティを見るという形です。

    分けて書くとこういう感じ。
    Control activeControl = this.ActiveControl;
    string name = activeControl.Name;


    件の DataColumnCollection であれば、対象のクラスが以下のような実装をしていると考えればよいかと。
    private DataColumnCollection _collection;
    public DataColumnCollection Columns { get { return _collection; } }

    (プロパティの中というよりは、クラスが DataColumnCollection のインスタンスを保持しており、プロパティの get アクセサでそのインスタンスを外部に見せている)
記事No.64870 のレス /過去ログ109より / 関連記事表示
削除チェック/

■64876  Re[4]: プロパティとメソッドの考え方について
□投稿者/ 悩み多きランナー -(2013/01/19(Sat) 13:02:21)
    No64875 (Azulean さん) に返信
    > ■No64874 (悩み多きランナー さん) に返信
    >>プロパティには値だけでなくオブジェクトやコレクションをクラスによって持つ場合があるということでしょうか?
    >
    > プロパティは int 型などのような値型のほかに、Control 型などのような参照型を返すことができます。
    >
    > たとえば、Form クラスの ActiveControl プロパティだと今、フォーカスがあるコントロールの参照(インスタンス)を取得できます。
    > このため、this.ActiveControl.Name というようにつなげて書くこともできます。これは ActiveControl が Control のオブジェクトを返しているので、そのオブジェクトの Name プロパティを見るという形です。
    >
    > 分けて書くとこういう感じ。
    > Control activeControl = this.ActiveControl;
    > string name = activeControl.Name;
    >
    >
    > 件の DataColumnCollection であれば、対象のクラスが以下のような実装をしていると考えればよいかと。
    > private DataColumnCollection _collection;
    > public DataColumnCollection Columns { get { return _collection; } }
    >
    > (プロパティの中というよりは、クラスが DataColumnCollection のインスタンスを保持しており、プロパティの get アクセサでそのインスタンスを外部に見せている)

    ご回答ありがとうございました。
    DataColumnプロパティでDataColumnCollection のインスタンスを保持していてAddメソッドを読んでコレクションにDataColumnオブジェクトを
    追加しているということです。納得しました。

    本当にありがとうございます。
記事No.64870 のレス / END /過去ログ109より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -