示例#1
0
        public IEnumerable <bool> SimpleGenerator()
        {
            var             a = new AccessedClass();
            var             b = AccessedClass.StringField;
            var             c = a.BoolField;
            var             d = AccessedClass.StaticMethodAsField;
            Func <int, int> e = AccessedClass.StaticMethodWithBody;

            yield return(true);
        }
示例#2
0
        public IEnumerable <int> ContainingGenerator()
        {
            IEnumerable <int> NestedGenerator()
            {
                var a = new AccessedClass();
                var b = AccessedClass.StringField;
                var c = a.BoolField;
                var d = c ? AccessedClass.StaticMethodAsField : AccessedClass.StaticMethodWithBody;

                yield return(0);
            }

            return(NestedGenerator());
        }
示例#3
0
        public IEnumerable <string> ComplexGenerator()
        {
            var a = new AccessedClass();
            var c = a.BoolField;

            if (c)
            {
                var b = AccessedClass.StringField;
                yield return(b);

                yield return(AccessedClass.StaticMethodAsField(3).ToString());
            }
            else
            {
                Func <int, int> e = AccessedClass.StaticMethodWithBody;
                for (var i = 0; i < 10; i++)
                {
                    yield return(e(i).ToString());
                }
            }
        }