示例#1
0
 public void Initialize()
 {
     if (BindableValuesSerializedInfos == null || serializedInfos.Length != BindableValueRestraints.Length)
     {
         serializedInfos = BindableValueRestraints.Select(bvt => new BindableValueSerializedInfo()
         {
             allowedValueType = bvt.Type
         }).ToArray();
     }
     for (int i = 0; i < serializedInfos.Length; i++)
     {
         if (serializedInfos[i] == null)
         {
             serializedInfos[i] = new BindableValueSerializedInfo();
         }
         if (serializedInfos[i].isSetterRequired != BindableValueRestraints[i].IsSetterRequired)
         {
             serializedInfos[i].isSetterRequired = BindableValueRestraints[i].IsSetterRequired;
         }
         if (serializedInfos[i].allowedValueType == null || serializedInfos[i].allowedValueType != BindableValueRestraints[i].Type)
         {
             serializedInfos[i].allowedValueType = BindableValueRestraints[i].Type;
         }
     }
 }
示例#2
0
 protected BindableValueInfo GetField(BindableValueSerializedInfo ids)
 {
     return(Model.RootNode.GetBindableValueByPath(ids.pathInModel.Split('/')));
 }