public static ObjectParameterOperationResult getInstance(bool _success, string _msg) { ObjectParameterOperationResult c = new ObjectParameterOperationResult(); c.success = _success; c.msg = _msg; return(c); }
//дело в том, что у объекта есть field и property, и все его поля данных - они либо такие, либо такие //часть данных объекта храняться как филд, часть - как проперти //чтобы не перебирать филд и проепрти каждый раз в коде, делается objectParameter внутри которого и перебирается филд и проперти public static ObjectParameterOperationResult setObjectParameter(object x, string name, object value) { FieldInfo[] newObjectFields = x.GetType().GetFields(); PropertyInfo[] newObjectProperties = x.GetType().GetProperties(); fn.CommonOperationResult convRez; foreach (FieldInfo f0 in newObjectFields) { if (f0.Name.ToLower() == name.ToLower()) { try { convRez = fn.convertedObject(f0.FieldType.ToString(), value); //чтобы внутри object было значение нужно типа if (convRez.success) { f0.SetValue(x, convRez.returningValue); return(ObjectParameterOperationResult.sayOk()); } else { return(ObjectParameterOperationResult.sayNo(convRez.msg)); } } catch { return(ObjectParameterOperationResult.sayNo("Unknown error in ObjectParameters.setObjectParameter-1")); } } } foreach (PropertyInfo f1 in newObjectProperties) { if (f1.Name.ToLower() == name.ToLower()) { if (isItOnlyGetter(x, name)) { return(ObjectParameterOperationResult.sayOk()); } try { convRez = fn.convertedObject(f1.GetType().ToString(), value); if (convRez.success) { f1.SetValue(x, convRez.returningValue); return(ObjectParameterOperationResult.sayOk()); } else { return(ObjectParameterOperationResult.sayNo(convRez.msg)); } } catch { return(ObjectParameterOperationResult.sayNo("Unknown error in ObjectParameters.setObjectParameter-2")); } } } return(ObjectParameterOperationResult.sayNo("Error in ObjectParameters.setObjectParameter: parameter not found")); }