profile for Macon_Cao at Stack Overflow, Q&A for professional and enthusiast programmers

Object Builder:创建简单对象

今天第一次用ObjectBuilder来创建简单对象,发现方法确实很简单。

[TestMethod]
        public void TestMethod1()
        {
            Builder builder = new Builder();
            //Locator locator = new Locator();
            //LifetimeContainer lContainer = new LifetimeContainer();
            //locator.Add(typeof(LifetimeContainer), lContainer);

            ConstructorPolicy conPolicy = new ConstructorPolicy();
            //conPolicy.AddParameter(new ValueParameter<int>(3));
            builder.Policies.Set<ICreationPolicy>(conPolicy, typeof(SimpleObject), null);
            var o = builder.BuildUp<SimpleObject>(null, null, null);

            Assert.AreEqual(-1, o.IniValue);

        }

        class SimpleObject
        {
            public readonly int IniValue = -2;
            public SimpleObject(int value)
            {
                IniValue = value;
            }
            public SimpleObject()
            {
                IniValue = -1;
            }
        }
 
结果是-1
奇怪的是,如果我不设置ICreationPolicy,结果居然是0。还希望哪位高手指教一下。
posted on 2010-02-17 10:58  无所畏惧,有所期待  阅读(1302)  评论(4编辑  收藏  举报