本文整理汇总了C#中HoistedField类的典型用法代码示例。如果您正苦于以下问题:C# HoistedField类的具体用法?C# HoistedField怎么用?C# HoistedField使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HoistedField类属于命名空间,在下文中一共展示了HoistedField类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateCallSiteField
public FieldSpec CreateCallSiteField (FullNamedExpression type, Location loc)
{
int index = AnonymousMethodsCounter++;
Field f = new HoistedField (this, type, Modifiers.PUBLIC | Modifiers.STATIC, "Site" + index.ToString ("X"), null, loc);
f.Define ();
AddField (f);
return f.Spec;
}
示例2: AddCapturedVariable
public Field AddCapturedVariable (string name, TypeSpec type)
{
CheckMembersDefined ();
FullNamedExpression field_type = new TypeExpression (type, Location);
if (!spec.IsGenericOrParentIsGeneric)
return AddCompilerGeneratedField (name, field_type);
const Modifiers mod = Modifiers.INTERNAL | Modifiers.COMPILER_GENERATED;
Field f = new HoistedField (this, field_type, mod, name, null, Location);
AddField (f);
return f;
}
示例3: CreateCallSiteField
public FieldSpec CreateCallSiteField(FullNamedExpression type, Location loc)
{
int index = fields == null ? 0 : fields.Count;
Field f = new HoistedField (this, type, Modifiers.PUBLIC | Modifiers.STATIC, "Site" + index.ToString ("X"), null, loc);
f.Define ();
AddField (f);
var fs = f.Spec;
if (mutator != null) {
//
// Inflate the field, no need to keep it in MemberCache as it's accessed only once
//
var inflator = new TypeParameterInflator (this, instance_type, spec.MemberDefinition.TypeParameters, instance_type.TypeArguments);
fs = (FieldSpec) fs.InflateMember (inflator);
}
return fs;
}