public static DataBindingProperty MakeViewModelDataBindingProperty(string rViewModelPath) { if (string.IsNullOrEmpty(rViewModelPath)) { return(null); } var rViewModelPathStrs = rViewModelPath.Split('/'); if (rViewModelPathStrs.Length < 2) { return(null); } var rViewModelClass = rViewModelPathStrs[0].Trim(); var rViewModelClassStrs = rViewModelClass.Split('@'); if (rViewModelClassStrs.Length < 1) { return(null); } var rViewModelClassKey = rViewModelClassStrs[0].Trim(); var rViewModelClassName = rViewModelClassStrs[1].Trim(); var rViewModelProp = rViewModelPathStrs[1].Trim(); var rViewModelPropStrs = rViewModelProp.Split(':'); if (rViewModelPropStrs.Length < 1) { return(null); } var rViewModelPropName = rViewModelPropStrs[0].Trim(); var rViewModelProperty = new DataBindingProperty(null, rViewModelClassKey, rViewModelPropName); rViewModelProperty.Property = Type.GetType(rViewModelClassName).GetProperty(rViewModelPropName); return(rViewModelProperty); }
public static DataBindingProperty MakeViewModelDataBindingProperty(string rViewModelPath) { if (string.IsNullOrEmpty(rViewModelPath)) { return(null); } var rViewModelPathStrs = rViewModelPath.Split('/'); if (rViewModelPathStrs.Length < 2) { return(null); } var rViewModelClassName = rViewModelPathStrs[0].Trim(); var rViewModelProp = rViewModelPathStrs[1].Trim(); var rViewModelPropStrs = rViewModelProp.Split(':'); if (rViewModelPropStrs.Length < 1) { return(null); } rViewModelClassName = rViewModelClassName.Replace("ListTemplate@", ""); var rViewModelPropName = rViewModelPropStrs[0].Trim(); var rViewModelProperty = new DataBindingProperty(null, rViewModelClassName, rViewModelPropName); rViewModelProperty.Property = Type.GetType(rViewModelClassName)?.GetProperty(rViewModelPropName); if (rViewModelProperty.Property == null) { Debug.LogError("ViewModelClass: " + rViewModelPath + " get property error."); return(null); } return(rViewModelProperty); }