-3

ネストされたプロパティはどのようにdataTable.Columns[0].ColumnName作成されますか?

4

4 に答える 4

6

それ自体は「作成」されたものではなくColumns、あるタイプのオブジェクトのコレクションであり、そのタイプはプロパティを公開しますColumnName

class Some
{
    string Property { get; set; }
}
class Foo
{
    public List<Some> Objects { get; set; }
}

foo.Objects[0].Property
于 2012-09-13T13:16:34.270 に答える
1

この例では、dataTable.Columnsは単純なインデックス付きプロパティであり、ColumnNameというプロパティを持つ別のオブジェクトを返します。

例えば:

class Table
{
    private Column[] columns;
    public Column Columns[int index]
    {
        get
        {
            return columns[index];
        }
    }
}

class Column
{
    public string ColumnName
    {
        get;
        set;
    }
}

(構文については100%確信がありません。しばらくの間、C#を使用していません)

于 2012-09-13T13:18:49.013 に答える
1

プロパティは、独自のプロパティなどを持つオブジェクトを返します

于 2012-09-13T13:17:32.653 に答える
1

dataTable.Columns[0].ColumnNamepropertyの概念との概念を組み合わせたものindexer:

  • オブジェクトdataTableは、という名前のプロパティを公開しますColumns
  • Columnsはコレクション型であるため、indexerそのコレクション内の特定の要素をアドレス指定するために an が使用されColumns[0]ますColumns[1]
  • これらの各要素は再びオブジェクトであり、プロパティを公開しますColumnName

したがってdataTable.Columns[0].ColumnName、「オブジェクト dataTable の collection-property Columns から、最初の要素のプロパティ ColumnName を取得する」と読む必要があります。

于 2012-09-13T13:21:53.203 に答える