2009-06-17 9 views
1

私はASP.NETのコントロールのスタイルプロパティを反復しようとしています。これはタイプCssStyleCollectionで、MSDNの参照ページがあります。CssStyleCollectionを反復する

このページには、コレクションを反復し、コレクション内の各アイテムのキーと値の両方を取得するサンプルコードがあります。それは次のようになります。

IEnumerator keys = MyText.Style.Keys.GetEnumerator(); 

while (keys.MoveNext()) 
{ 
    String key = (String)keys.Current; 
    dr = dt.NewRow(); 
    dr[0] = key; 
    dr[1] = MyText.Style[key]; 
    dt.Rows.Add(dr); 
} 

私は自分のコードの最初の行を使用してみましたが、コンパイラは、私はジェネリック型のIEnumeratorのための型引数を指定する必要があることを言って続けています。 Microsoft自身のサンプルコードを使用しようとしていることを考えれば、ちょっと混乱しています!

誰でもCssStyleCollectionの反復処理を手伝ってくれますか?

+1

私はあなたのコードを試してみたし、それが実際にここにコンパイルされます。 IEnumerableは、非ジェネリックコレクションの繰り返しをサポートしています。コレクションと何か関係があるようです。 MyTextはTextBox、Labelですか? – maxbeaudoin

+0

Hmmm、私はコントロールの拡張メソッドとしてそれをやろうとしているかもしれないと思います。たぶん、それはページのコンテキストで作業する必要があります。 – jonsidnell

答えて

1

は次のように反復してみてください。

foreach (string key in MyText.Style.Keys) 
    { 
     dr = dt.NewRow(); 
     dr[0] = key; 
     dr[1] = MyText.Style[key]; 
     dt.Rows.Add(dr); 
    } 
+0

それは完璧だった、ありがとう! – jonsidnell