コード例 #1
0
        public static void Bar()
        {
            IHostEnvironment env = null;
            var text             = TextLoader.CreateReader(env, ctx => new
            {
                Label           = ctx.LoadBool(0),
                Text            = ctx.LoadText(1),
                NumericFeatures = ctx.LoadFloat(2, 5)
            });

            var est = text.MakeNewEstimator();

            // This should work.
            est.Append(r => new { r.Text });

            IDataView view = null;

            view.AssertStatic(env, c => new Class1(c.I4.Scalar, c.Bool.Vector));
            view.AssertStatic(env, c => new Class2 {
                F1 = c.I4.Scalar, F2 = c.Bool.Vector
            });
            view.AssertStatic(env, c => new Class3 <Class2>
            {
                F1 = new Class1(c.I4.Scalar, c.Bool.Vector),
                F2 = new Class2 {
                    F1 = c.I4.Scalar, F2 = c.Bool.Vector
                }
            });
            view.AssertStatic(env, c => new Class4 {
                F1 = c.I4.Scalar
            });
            view.AssertStatic <Class5>(env, c => null);
            view.AssertStatic(env, c => new Class6(c.I4.Scalar, c.Bool.Vector));
            view.AssertStatic(env, c => new Class7 {
                F2 = c.Bool.Vector
            });
            view.AssertStatic(env, c => new Class8(c.I4.Scalar, c.Bool.Vector));
            view.AssertStatic(env, c => new Class9 {
                F1 = c.I4.Scalar, F2 = c.Bool.Vector
            });
            view.AssertStatic(env, c => new Class10(c.I4.Scalar, c.Bool.Vector));
            view.AssertStatic(env, c => new Class11(c.I4.Scalar, c.Bool.Vector, c.Bool.Vector));

            // This is wrong but should not fail with our diagnostic since there is a deeper problem that the class
            // simply is not there.
            var text2 = TextLoader.CreateReader(env, ctx => new MissingClass(ctx.LoadText(0)));
        }