Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Validator.cs
Go to the documentation of this file.
3using System.Linq;
4
6
7public static class Validator
8{
29
31
32 [RequiresUnreferencedCode("The Type of validationContext.ObjectType cannot be statically discovered.")]
48
49 [RequiresUnreferencedCode("The Type of instance cannot be statically discovered.")]
54
55 [RequiresUnreferencedCode("The Type of instance cannot be statically discovered.")]
57 {
58 if (instance == null)
59 {
60 throw new ArgumentNullException("instance");
61 }
62 if (validationContext != null && instance != validationContext.ObjectInstance)
63 {
65 }
66 bool result = true;
69 {
70 result = false;
72 }
73 return result;
74 }
75
88
89 [RequiresUnreferencedCode("The Type of validationContext.ObjectType cannot be statically discovered.")]
101
102 [RequiresUnreferencedCode("The Type of instance cannot be statically discovered.")]
103 public static void ValidateObject(object instance, ValidationContext validationContext)
104 {
106 }
107
108 [RequiresUnreferencedCode("The Type of instance cannot be statically discovered.")]
110 {
111 if (instance == null)
112 {
113 throw new ArgumentNullException("instance");
114 }
115 if (validationContext == null)
116 {
117 throw new ArgumentNullException("validationContext");
118 }
119 if (instance != validationContext.ObjectInstance)
120 {
122 }
125 {
126 objectValidationErrors[0].ThrowValidationException();
127 }
128 }
129
140
141 [RequiresUnreferencedCode("The Type of instance cannot be statically discovered.")]
143 {
144 return new ValidationContext(instance, validationContext, validationContext.Items);
145 }
146
147 private static bool CanBeAssigned(Type destinationType, object value)
148 {
149 if (value == null)
150 {
151 if (destinationType.IsValueType)
152 {
153 if (destinationType.IsGenericType)
154 {
155 return destinationType.GetGenericTypeDefinition() == typeof(Nullable<>);
156 }
157 return false;
158 }
159 return true;
160 }
161 return destinationType.IsInstanceOfType(value);
162 }
163
171
172 [RequiresUnreferencedCode("The Type of instance cannot be statically discovered.")]
174 {
175 if (validationContext == null)
176 {
177 throw new ArgumentNullException("validationContext");
178 }
181 if (list.Count > 0)
182 {
183 return list;
184 }
187 if (list.Count > 0)
188 {
189 return list;
190 }
192 {
194 if (enumerable != null)
195 {
196 foreach (ValidationResult item in enumerable)
197 {
199 {
200 list.Add(new ValidationError(null, instance, item));
201 }
202 }
203 }
204 }
205 return list;
206 }
207
208 [RequiresUnreferencedCode("The Type of instance cannot be statically discovered.")]
242
243 [RequiresUnreferencedCode("The Type of instance cannot be statically discovered.")]
245 {
248 foreach (PropertyDescriptor item in properties)
249 {
251 validationContext2.MemberName = item.Name;
252 if (_store.GetPropertyValidationAttributes(validationContext2).Any())
253 {
255 }
256 }
257 return list;
258 }
259
261 {
262 if (validationContext == null)
263 {
264 throw new ArgumentNullException("validationContext");
265 }
269 foreach (ValidationAttribute attribute in attributes)
270 {
272 if (requiredAttribute != null)
273 {
275 {
277 return list;
278 }
279 break;
280 }
281 }
282 foreach (ValidationAttribute attribute2 in attributes)
283 {
285 {
288 {
289 break;
290 }
291 }
292 }
293 return list;
294 }
295
307}
static void ThrowIfNull([NotNull] object? argument, [CallerArgumentExpression("argument")] string? paramName=null)
void Add(TKey key, TValue value)
ValidationError(ValidationAttribute validationAttribute, object value, ValidationResult validationResult)
Definition Validator.cs:17
static void ValidateProperty(object? value, ValidationContext validationContext)
Definition Validator.cs:90
static IEnumerable< ValidationError > GetObjectPropertyValidationErrors(object instance, ValidationContext validationContext, bool validateAllProperties, bool breakOnFirstError)
Definition Validator.cs:209
static void EnsureValidPropertyType(string propertyName, Type propertyType, object value)
Definition Validator.cs:164
static void ValidateObject(object instance, ValidationContext validationContext)
Definition Validator.cs:103
static readonly ValidationAttributeStore _store
Definition Validator.cs:30
static List< ValidationError > GetObjectValidationErrors(object instance, ValidationContext validationContext, bool validateAllProperties, bool breakOnFirstError)
Definition Validator.cs:173
static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection< ValidationResult >? validationResults, bool validateAllProperties)
Definition Validator.cs:56
static bool CanBeAssigned(Type destinationType, object value)
Definition Validator.cs:147
static ValidationContext CreateValidationContext(object instance, ValidationContext validationContext)
Definition Validator.cs:142
static bool TryValidateProperty(object? value, ValidationContext validationContext, ICollection< ValidationResult >? validationResults)
Definition Validator.cs:33
static List< ValidationError > GetValidationErrors(object value, ValidationContext validationContext, IEnumerable< ValidationAttribute > attributes, bool breakOnFirstError)
Definition Validator.cs:260
static bool TryValidate(object value, ValidationContext validationContext, ValidationAttribute attribute, [NotNullWhen(false)] out ValidationError validationError)
Definition Validator.cs:296
static void ValidateObject(object instance, ValidationContext validationContext, bool validateAllProperties)
Definition Validator.cs:109
static ICollection< KeyValuePair< ValidationContext, object > > GetPropertyValues(object instance, ValidationContext validationContext)
Definition Validator.cs:244
static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection< ValidationResult >? validationResults)
Definition Validator.cs:50
static bool TryValidateValue(object value, ValidationContext validationContext, ICollection< ValidationResult >? validationResults, IEnumerable< ValidationAttribute > validationAttributes)
Definition Validator.cs:76
static void ValidateValue(object value, ValidationContext validationContext, IEnumerable< ValidationAttribute > validationAttributes)
Definition Validator.cs:130
static PropertyDescriptorCollection GetProperties([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type componentType)
static string Validator_InstanceMustMatchValidationContextInstance
Definition SR.cs:116
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string Validator_Property_Value_Wrong_Type
Definition SR.cs:118
Definition SR.cs:7