本文整理汇总了C#中System.ComponentModel.TypeDescriptionProvider.GetReflectionType方法的典型用法代码示例。如果您正苦于以下问题:C# TypeDescriptionProvider.GetReflectionType方法的具体用法?C# TypeDescriptionProvider.GetReflectionType怎么用?C# TypeDescriptionProvider.GetReflectionType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.ComponentModel.TypeDescriptionProvider
的用法示例。
在下文中一共展示了TypeDescriptionProvider.GetReflectionType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ChooseMethodByType
private static MethodInfo ChooseMethodByType(TypeDescriptionProvider provider, List<MethodInfo> methods, ICollection values)
{
MethodInfo info = null;
Type c = null;
foreach (object obj2 in values)
{
Type reflectionType = provider.GetReflectionType(obj2);
MethodInfo info2 = null;
Type type3 = null;
if ((info == null) || ((c != null) && !c.IsAssignableFrom(reflectionType)))
{
foreach (MethodInfo info3 in methods)
{
ParameterInfo info4 = info3.GetParameters()[0];
if (info4 != null)
{
Type type4 = info4.ParameterType.IsArray ? info4.ParameterType.GetElementType() : info4.ParameterType;
if ((type4 != null) && type4.IsAssignableFrom(reflectionType))
{
if (info != null)
{
if (!type4.IsAssignableFrom(c))
{
continue;
}
info = info3;
c = type4;
break;
}
if (info2 == null)
{
info2 = info3;
type3 = type4;
}
else
{
bool flag = type3.IsAssignableFrom(type4);
info2 = flag ? info3 : info2;
type3 = flag ? type4 : type3;
}
}
}
}
}
if (info == null)
{
info = info2;
c = type3;
}
}
return info;
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:52,代码来源:CollectionCodeDomSerializer.cs