- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试做的事情:
我正在使用 roslyn 编写代码重构。我的目标是创造一个类(class)。所以我所做的基本上是删除所有私有(private)员工,并用 throw new NotImplementedException()
替换非私有(private)员工的 body 。
我的问题是什么:
一切正常,但我最终遇到了很多这样的代码重复:
private static bool IsPrivate(TypeDeclarationSyntax type)
{
return type.Modifiers.Any(IsPrivateModifier);
}
private static bool IsPrivate(MethodDeclarationSyntax method)
{
return method.Modifiers.Any(IsPrivateModifier);
}
private static bool IsPrivate(FieldDeclarationSyntax field)
{
return field.Modifiers.Any(IsPrivateModifier);
}
private static bool IsPrivate(PropertyDeclarationSyntax property)
{
return property.Modifiers.Any(IsPrivateModifier);
}
private static bool IsPrivate(IndexerDeclarationSyntax property)
{
return property.Modifiers.Any(IsPrivateModifier);
}
private static bool IsPrivateModifier(SyntaxToken modifier)
{
return modifier.Kind() == SyntaxKind.PrivateKeyword;
}
原因是我需要使用属性Members
,并且语法类没有通用的基类型或接口(interface)来声明Members
。我对属性 Body
有同样的问题,这对所有这些都是通用的,但没有通用的基础或通用接口(interface)。
问题:API设计是这样的,还是我遗漏了什么?在这些和许多其他类似情况下,有什么模式可以避免重复。
更新在 roslyn 存储库中创建了一个问题:#10455
最佳答案
我希望他们能解决这个问题,但你可以
dynamic
暂时围绕它。
关于c# - Roslyn TypeDeclarationSyntax、MethodDeclarationSyntax、FieldDeclarationSyntax 具有公共(public)属性但没有公共(public)基类或接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496009/
我正在编写一个生成接口(interface)实现的简单 Roslyn 生成器,因此我想从 TypeDeclarationSyntax 获取 TypeSyntax,因为以下代码: // Our gene
我正在尝试做的事情: 我正在使用 roslyn 编写代码重构。我的目标是创造一个类(class)。所以我所做的基本上是删除所有私有(private)员工,并用 throw new NotImpleme
我是一名优秀的程序员,十分优秀!