本文整理汇总了C#中IClass.GetDeclarations方法的典型用法代码示例。如果您正苦于以下问题:C# IClass.GetDeclarations方法的具体用法?C# IClass.GetDeclarations怎么用?C# IClass.GetDeclarations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IClass
的用法示例。
在下文中一共展示了IClass.GetDeclarations方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddAtribute
protected void AddAtribute(IClass @class)
{
if (ExistsSerializableAttribute(@class))
return;
ISolution solution = @class.GetManager().Solution;
IDeclaration declaration = @class.GetDeclarations()[0];
IMetaInfoTargetDeclarationNode metaInfoTargetDeclarationNode =
declaration.ToTreeNode() as IMetaInfoTargetDeclarationNode;
Assert.CheckNotNull(metaInfoTargetDeclarationNode);
CSharpElementFactory elementFactory = CSharpElementFactory.GetInstance(@class.GetManager().Solution);
IAttribute serializableAttribute =
elementFactory.CreateTypeMemberDeclaration("[Serializable]void Foo(){}").Attributes[0];
IAttribute added = metaInfoTargetDeclarationNode.AddAttributeAfter(serializableAttribute, null);
ICSharpTypeAndNamespaceHolderDeclaration scope = declaration.GetContainingElement<ICSharpNamespaceDeclaration>(false);
ICSharpFile fileScope = (ICSharpFile)declaration.GetContainingFile();
if (scope == null)
scope = fileScope;
if(!UsingUtil.CheckAlreadyImported(scope, PsiManager.GetInstance(solution).GetNamespace(SYSTEM)))
{
IUsingDirective directive = CSharpElementFactory.GetInstance(solution).CreateUsingDirective(SYSTEM, new object[0]);
// add to header usings list
UsingUtil.AddImportTo(fileScope, directive);
}
}