本文整理汇总了C#中RefactoringContext.CreateTypeSytemAstBuilder方法的典型用法代码示例。如果您正苦于以下问题:C# RefactoringContext.CreateTypeSytemAstBuilder方法的具体用法?C# RefactoringContext.CreateTypeSytemAstBuilder怎么用?C# RefactoringContext.CreateTypeSytemAstBuilder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RefactoringContext
的用法示例。
在下文中一共展示了RefactoringContext.CreateTypeSytemAstBuilder方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateMemberImplementation
static EntityDeclaration GenerateMemberImplementation(RefactoringContext context, IMember member, bool explicitImplementation)
{
var builder = context.CreateTypeSytemAstBuilder();
builder.GenerateBody = true;
builder.ShowModifiers = false;
builder.ShowAccessibility = true;
builder.ShowConstantValues = !explicitImplementation;
builder.ShowTypeParameterConstraints = !explicitImplementation;
builder.UseCustomEvents = explicitImplementation;
var decl = builder.ConvertEntity(member);
if (explicitImplementation) {
decl.Modifiers = Modifiers.None;
decl.AddChild(builder.ConvertType(member.DeclaringType), EntityDeclaration.PrivateImplementationTypeRole);
} else if (member.DeclaringType.Kind == TypeKind.Interface) {
decl.Modifiers |= Modifiers.Public;
} else {
// Remove 'internal' modifier from 'protected internal' members if the override is in a different assembly than the member
if (!member.ParentAssembly.InternalsVisibleTo(context.Compilation.MainAssembly)) {
decl.Modifiers &= ~Modifiers.Internal;
}
}
return decl;
}
示例2: GenerateMemberImplementation
static EntityDeclaration GenerateMemberImplementation(RefactoringContext context, IMember member, bool explicitImplementation)
{
var builder = context.CreateTypeSytemAstBuilder();
builder.GenerateBody = true;
builder.ShowConstantValues = !explicitImplementation;
builder.ShowTypeParameterConstraints = !explicitImplementation;
builder.UseCustomEvents = explicitImplementation;
var decl = builder.ConvertEntity(member);
if (explicitImplementation) {
decl.Modifiers = Modifiers.None;
decl.AddChild(builder.ConvertType(member.DeclaringType), EntityDeclaration.PrivateImplementationTypeRole);
} else {
decl.Modifiers = Modifiers.Public;
}
return decl;
}