Advertisement
atsukanrock

Overriding an IEnumerable<T> member

May 23rd, 2012
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.68 KB | None | 0 0
  1. public class BaseClass
  2. {
  3.     public virtual IEnumerable<string> Names
  4.     {
  5.         get
  6.         {
  7.             yield return "Taro";
  8.         }
  9.     }
  10. }
  11.  
  12. public class DerivedClass : BaseClass
  13. {
  14.     public override IEnumerable<string> Names
  15.     {
  16.         get
  17.         {
  18.             // 他にカッコイイ書き方ないの?
  19.             foreach(var name in this.BaseNames) yield return name;
  20.             yield return "Jiro";
  21.             yield return "Saburo";
  22.         }
  23.     }
  24.  
  25.     // HACK: コンパイラ警告 CS1911 を解決 (http://msdn.microsoft.com/library/ms228459.aspx)
  26.     private IEnumerable<string> BaseNames
  27.     {
  28.         get { return base.Names; }
  29.     }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement