Definition at line 336 of file DefaultBinder.cs.
337 {
339 {
340 throw new ArgumentNullException("match");
341 }
342 int num = 0;
345 {
347 for (
int i = 0;
i <
array.Length;
i++)
348 {
350 if (fieldType ==
type)
351 {
353 }
354 else if (
value ==
Empty.Value && fieldType.IsClass)
355 {
357 }
358 else if (fieldType == typeof(object))
359 {
361 }
362 else if (fieldType.IsPrimitive)
363 {
365 {
367 }
368 }
369 else if (fieldType.IsAssignableFrom(
type))
370 {
372 }
373 }
374 switch (num)
375 {
376 case 0:
377 throw new MissingFieldException(SR.MissingField);
378 case 1:
380 }
381 }
382 int num2 = 0;
383 bool flag = false;
384 for (
int i = 1;
i < num;
i++)
385 {
387 {
388 case 0:
389 flag = true;
390 break;
391 case 2:
393 flag = false;
394 break;
395 }
396 }
397 if (flag)
398 {
400 }
402 }
static bool CanChangePrimitive(Type source, Type target)
static int FindMostSpecificField(FieldInfo cur1, FieldInfo cur2)
References System.SR.Arg_AmbiguousMatchException, System.array, System.DefaultBinder.CanChangePrimitive(), System.DefaultBinder.FindMostSpecificField(), System.Type.GetType(), System.Type.IsAssignableFrom(), System.Type.IsClass, System.Type.IsPrimitive, System.match, System.SR.MissingField, System.type, System.Empty.Value, and System.value.