/// <summary> /// 指定一个实例,设置指定属性的值。 /// </summary> /// <param name="property">动态属性。</param> /// <param name="instance">一个实例,null 值表示静态属性。</param> /// <param name="value">属性的值。</param> public void SetValue(DynamicProperty property, object instance, object value) { if(value is string) { value = ObjectFactory.Context.Get<IJsonProvider>().Deserialize(value.ToString(), property.Property.PropertyType); } property.SetValue(instance, value, false); }
public void SetUp() { SetUpDomainFactory(); cut = (DynamicProperty) DomainFactory.Create("DynamicProperty", false); cut.SetValue("DefaultValue", DEFAULT_VALUE); // Set up the effective values and the value criteria for the test CollectionRelationship evRel = (CollectionRelationship) cut.GetRelationship("EffectiveValues"); Domain ev = evRel.AddNewObject(); ev.SetValue("EffectiveStartDate", JULY_DATE); ev.SetValue("EffectiveEndDate", AUG_DATE); CollectionRelationship vcRel = (CollectionRelationship) ev.GetRelationship("ValueCriteria"); Domain vc = vcRel.AddNewObject(); vc.SetValue("Value", JUNE_VALUE); vc.SetValue("RawCriteria", "* * * jun *"); vc = vcRel.AddNewObject(); vc.SetValue("Value", JULY_VALUE); vc.SetValue("RawCriteria", "* * * jul *"); ev = evRel.AddNewObject(); ev.SetValue("EffectiveStartDate", AUG_DATE); ev.SetValue("EffectiveEndDate", SEP_DATE); vcRel = (CollectionRelationship) ev.GetRelationship("ValueCriteria"); vc = vcRel.AddNewObject(); vc.SetValue("Value", AUG_VALUE); vc.SetValue("RawCriteria", "* * * aug *"); vc = vcRel.AddNewObject(); vc.SetValue("Value", SEP_VALUE); vc.SetValue("RawCriteria", "* * * sep *"); }