- PR -

IEnumerableインターフェイスについて

1
投稿者投稿内容
osaru
会議室デビュー日: 2008/08/04
投稿数: 2
投稿日時: 2008-08-04 22:33
はじめまして

現在C#を勉強中なのですが分からないところがあります。

IEnumerable<T>インターフェイスを継承したクラスを作成して、ジェネリックのGetEnumerator()と非ジェネリックのGetEnumerator()を実装しました。
分からないのが、この非ジェネリックのGetEnumerator()ですがpublicを付けるとコンパイルエラーになり、何も付けないとコンパイルが通ります。
なぜ何も付けないとコンパイルが通るのでしょうか?
またこの非ジェネリックのGetEnumerator()アクセスレベルはどうなるのでしょうか?

非常に初心者的な質問で恐縮なのですが、どなたか教えてください。
よろしくお願いします。

開発環境はVisual Studio 2008です。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-08-04 22:56
http://msdn.microsoft.com/ja-jp/library/aa664591(VS.71).aspx
ここに「インターフェイス メンバの明示的実装にアクセス修飾子を含めると、
コンパイル エラーになります。」とかいてあるとおりで、

非ジェネリックのGetEnumerator()を明示的に実装しているからでしょう。

osaru
会議室デビュー日: 2008/08/04
投稿数: 2
投稿日時: 2008-08-05 22:22
べるさま

教えていただいたリンクの内容をよんでようやく理解できました。
初心者の質問に丁寧に答えていただいてありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)