本文整理汇总了C#中ICSharpCode.NRefactory.CSharp.EntityDeclaration.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# EntityDeclaration.Clone方法的具体用法?C# EntityDeclaration.Clone怎么用?C# EntityDeclaration.Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICSharpCode.NRefactory.CSharp.EntityDeclaration
的用法示例。
在下文中一共展示了EntityDeclaration.Clone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CloneNodeWithoutBodies
static EntityDeclaration CloneNodeWithoutBodies(EntityDeclaration node)
{
EntityDeclaration newNode;
var custom = node as CustomEventDeclaration;
if (custom == null) {
newNode = (EntityDeclaration)node.Clone();
if (newNode is PropertyDeclaration || node is IndexerDeclaration) {
var getter = newNode.GetChildByRole(PropertyDeclaration.GetterRole);
if (!getter.IsNull)
getter.Body.Remove();
var setter = newNode.GetChildByRole(PropertyDeclaration.SetterRole);
if (!setter.IsNull)
setter.Body.Remove();
} else {
newNode.GetChildByRole(Roles.Body).Remove();
}
} else {
newNode = new EventDeclaration {
Modifiers = custom.Modifiers,
ReturnType = custom.ReturnType.Clone(),
Variables = {
new VariableInitializer {
Name = custom.Name
}
}
};
}
return newNode;
}