本文整理汇总了C#中IKVM.Reflection.Type.FindField方法的典型用法代码示例。如果您正苦于以下问题:C# Type.FindField方法的具体用法?C# Type.FindField怎么用?C# Type.FindField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IKVM.Reflection.Type
的用法示例。
在下文中一共展示了Type.FindField方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddNamedArgument
private static void AddNamedArgument(List<CustomAttributeNamedArgument> list, Type attributeType, string fieldName, Type valueType, object value)
{
// some fields are not available on the .NET Compact Framework version of DllImportAttribute/MarshalAsAttribute
FieldInfo field = attributeType.FindField(fieldName, FieldSignature.Create(valueType, new CustomModifiers()));
if (field != null)
{
list.Add(new CustomAttributeNamedArgument(field, new CustomAttributeTypedArgument(valueType, value)));
}
}
示例2: GetField
private static FieldInfo GetField(Module context, Type type, string name, Type fieldType)
{
Type org = type;
for (; type != null && !type.__IsMissing; type = type.BaseType)
{
foreach (FieldInfo field in type.__GetDeclaredFields())
{
if (field.IsPublic && !field.IsStatic && field.Name == name)
{
return field;
}
}
}
// if the field is missing, we stick the missing field on the first missing base type
if (type == null)
{
type = org;
}
FieldSignature sig = FieldSignature.Create(fieldType, new CustomModifiers());
return type.FindField(name, sig)
?? type.Module.universe.GetMissingFieldOrThrow(context, type, name, sig);
}