本文整理汇总了C#中CustomModifiers类的典型用法代码示例。如果您正苦于以下问题:C# CustomModifiers类的具体用法?C# CustomModifiers怎么用?C# CustomModifiers使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CustomModifiers类属于命名空间,在下文中一共展示了CustomModifiers类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: LocalVariableInfo
internal LocalVariableInfo(int index, Type type, bool pinned, CustomModifiers customModifiers)
{
this.index = index;
this.type = type;
this.pinned = pinned;
this.customModifiers = customModifiers;
}
开发者ID:jira-sarec,项目名称:ICSE-2012-TraceLab,代码行数:7,代码来源:LocalVariableInfo.cs
示例2: SetSignature
public void SetSignature(Type returnType, CustomModifiers returnTypeCustomModifiers, Type[] parameterTypes, CustomModifiers[] parameterTypeCustomModifiers)
{
method.signature = new MethodSignature(
returnType ?? method.Module.universe.System_Void,
Util.Copy(parameterTypes),
PackedCustomModifiers.CreateFromExternal(returnTypeCustomModifiers, parameterTypeCustomModifiers, parameterTypes.Length),
method.signature.CallingConvention,
method.signature.GenericParameterCount);
}
开发者ID:kenasogoo,项目名称:ikvm-fork,代码行数:9,代码来源:Missing.cs
示例3: FieldBuilder
internal FieldBuilder(TypeBuilder type, string name, Type fieldType, CustomModifiers customModifiers, FieldAttributes attribs)
{
this.typeBuilder = type;
this.name = name;
this.pseudoToken = type.ModuleBuilder.AllocPseudoToken();
this.nameIndex = type.ModuleBuilder.Strings.Add(name);
this.fieldSig = FieldSignature.Create(fieldType, customModifiers);
ByteBuffer sig = new ByteBuffer(5);
fieldSig.WriteSig(this.typeBuilder.ModuleBuilder, sig);
this.signature = this.typeBuilder.ModuleBuilder.Blobs.Add(sig);
this.attribs = attribs;
this.typeBuilder.ModuleBuilder.Field.AddVirtualRecord();
}
开发者ID:jira-sarec,项目名称:ICSE-2012-TraceLab,代码行数:13,代码来源:FieldBuilder.cs
示例4: CreateFromExternal
internal static PackedCustomModifiers CreateFromExternal(CustomModifiers returnTypeCustomModifiers, CustomModifiers[] parameterTypeCustomModifiers, int parameterCount)
{
CustomModifiers[] customModifiers = null;
Pack(ref customModifiers, 0, returnTypeCustomModifiers, parameterCount + 1);
if (parameterTypeCustomModifiers != null)
{
for (int i = 0; i < parameterCount; i++)
{
Pack(ref customModifiers, i + 1, parameterTypeCustomModifiers[i], parameterCount + 1);
}
}
return new PackedCustomModifiers(customModifiers);
}
开发者ID:LogosBible,项目名称:ikvm-fork,代码行数:13,代码来源:MethodSignature.cs
示例5: __AddArgument
public override void __AddArgument(Type argument, bool pinned, CustomModifiers customModifiers)
{
if (pinned)
{
args.Add(MarkerType.Pinned);
}
foreach (CustomModifiers.Entry mod in customModifiers)
{
args.Add(mod.IsRequired ? MarkerType.ModReq : MarkerType.ModOpt);
args.Add(mod.Type);
}
args.Add(argument);
paramCount++;
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:14,代码来源:SignatureHelper.cs
示例6: __ResolveOptionalParameterTypes
public abstract Type[] __ResolveOptionalParameterTypes(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments, out CustomModifiers[] customModifiers);
开发者ID:nestalk,项目名称:mono,代码行数:1,代码来源:Module.cs
示例7: ReadCustomModifiers
private static CustomModifiers ReadCustomModifiers(ModuleReader module, ByteReader br, IGenericContext context)
{
CustomModifiers mods = new CustomModifiers();
byte b = br.PeekByte();
if (IsCustomModifier(b))
{
List<Type> required = new List<Type>();
List<Type> optional = new List<Type>();
while (IsCustomModifier(b))
{
bool req = br.ReadByte() == ELEMENT_TYPE_CMOD_REQD;
Type type = ReadTypeDefOrRefEncoded(module, br, context);
(req ? required : optional).Add(type);
b = br.PeekByte();
}
mods.required = required.ToArray();
mods.optional = optional.ToArray();
}
return mods;
}
开发者ID:koush,项目名称:mono,代码行数:20,代码来源:Signature.cs
示例8: __SetSignature
public void __SetSignature(Type returnType, CustomModifiers returnTypeCustomModifiers, Type[] parameterTypes, CustomModifiers[] parameterTypeCustomModifiers)
{
SetSignature(returnType, parameterTypes, PackedCustomModifiers.CreateFromExternal(returnTypeCustomModifiers, parameterTypeCustomModifiers, Util.NullSafeLength(parameterTypes)));
}
开发者ID:mono,项目名称:ikvm,代码行数:4,代码来源:MethodBuilder.cs
示例9: Wrap
protected override Type Wrap(Type type, CustomModifiers mods)
{
return Make(type, mods);
}
开发者ID:nestalk,项目名称:mono,代码行数:4,代码来源:Type.cs
示例10: WriteCustomModifiers
protected static void WriteCustomModifiers(ModuleBuilder module, ByteBuffer bb, CustomModifiers modifiers)
{
foreach (CustomModifiers.Entry entry in modifiers)
{
bb.Write(entry.IsRequired ? ELEMENT_TYPE_CMOD_REQD : ELEMENT_TYPE_CMOD_OPT);
bb.WriteTypeDefOrRefEncoded(module.GetTypeTokenForMemberRef(entry.Type));
}
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:8,代码来源:Signature.cs
示例11: Wrap
internal static PackedCustomModifiers Wrap(CustomModifiers[] modifiers)
{
return new PackedCustomModifiers(modifiers);
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:4,代码来源:MethodSignature.cs
示例12: PackedCustomModifiers
private PackedCustomModifiers(CustomModifiers[] customModifiers)
{
this.customModifiers = customModifiers;
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:4,代码来源:MethodSignature.cs
示例13: FieldSignature
private FieldSignature(Type fieldType, CustomModifiers mods)
{
this.fieldType = fieldType;
this.mods = mods;
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:5,代码来源:FieldSignature.cs
示例14: Create
internal static FieldSignature Create(Type fieldType, CustomModifiers customModifiers)
{
return new FieldSignature(fieldType, customModifiers);
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:4,代码来源:FieldSignature.cs
示例15: GenericTypeInstance
private GenericTypeInstance(Type type, Type[] args, CustomModifiers[] mods)
{
this.type = type;
this.args = args;
this.mods = mods;
}
开发者ID:nestalk,项目名称:mono,代码行数:6,代码来源:Type.cs
示例16: IsEmpty
private static bool IsEmpty(CustomModifiers[] mods, int i)
{
// we need to be extra careful, because mods doesn't not need to be in canonical format
// (Signature.ReadGenericInst() calls Make() directly, without copying the modifier arrays)
return mods == null || mods[i].IsEmpty;
}
开发者ID:nestalk,项目名称:mono,代码行数:6,代码来源:Type.cs
示例17: Make
internal static Type Make(Type type, Type[] typeArguments, CustomModifiers[] mods)
{
bool identity = true;
if (type is TypeBuilder || type is BakedType || type.__IsMissing)
{
// a TypeBuiler identity must be instantiated
identity = false;
}
else
{
// we must not instantiate the identity instance, because typeof(Foo<>).MakeGenericType(typeof(Foo<>).GetGenericArguments()) == typeof(Foo<>)
for (int i = 0; i < typeArguments.Length; i++)
{
if (typeArguments[i] != type.GetGenericTypeArgument(i)
|| !IsEmpty(mods, i))
{
identity = false;
break;
}
}
}
if (identity)
{
return type;
}
else
{
return type.Universe.CanonicalizeType(new GenericTypeInstance(type, typeArguments, mods));
}
}
开发者ID:nestalk,项目名称:mono,代码行数:30,代码来源:Type.cs
示例18: WriteMethodRefSig
internal void WriteMethodRefSig(ModuleBuilder module, ByteBuffer bb, Type[] optionalParameterTypes, CustomModifiers[] customModifiers)
{
WriteSigImpl(module, bb, parameterTypes.Length + optionalParameterTypes.Length);
if (optionalParameterTypes.Length > 0)
{
bb.Write(SENTINEL);
for (int i = 0; i < optionalParameterTypes.Length; i++)
{
WriteCustomModifiers(module, bb, Util.NullSafeElementAt(customModifiers, i));
WriteType(module, bb, optionalParameterTypes[i]);
}
}
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:13,代码来源:MethodSignature.cs
示例19: LocalVariableInfo
internal LocalVariableInfo(int index, Type type, bool pinned, CustomModifiers customModifiers)
: this(index, type, pinned)
{
this.customModifiers = customModifiers;
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:5,代码来源:LocalVariableInfo.cs
示例20: Bind
internal PackedCustomModifiers Bind(IGenericBinder binder)
{
if (customModifiers == null)
{
return new PackedCustomModifiers();
}
CustomModifiers[] expanded = new CustomModifiers[customModifiers.Length];
for (int i = 0; i < customModifiers.Length; i++)
{
expanded[i] = customModifiers[i].Bind(binder);
}
return new PackedCustomModifiers(expanded);
}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:13,代码来源:MethodSignature.cs
注:本文中的CustomModifiers类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论