using System.Collections.Generic;
private static IEnumerable<IWrapper2> GetSomeNumbers() {
yield return new Wrapper2 { Value = 1 };
yield return new Wrapper2 { Value = 2 };
private static void UseSomeNumbers() {
foreach (var i in GetSomeNumbers()) {
Console.WriteLine("Got number " + i.Value);
public static void Main() {
private interface IWrapper {
private class Wrapper : IWrapper {
public int Value { get; set; }
private interface IWrapper2 {
private class Wrapper2 : IWrapper2 {
public int Value2 { get; set; }