거의 동일한 코드가 있지만 주 변수에서 상속되지 않고 완전히 다른 유형을 사용합니다. 특히 Roslyn에서 C # 및 VB.NET으로 분석기를 작성 중이며 다음과 같은 유형이 있습니다.
Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeSyntax
코드가 똑같은 일을하고 있기 때문에 가능한 한 DRY를 유지하고 가능한 한 적은 별도의 (그러나 유형과는 다른) 방법으로 나누거나 두 방법이 있기 때문에 완전히 분리 해야하는지 궁금합니다. 관련이없고 향후 변경으로 인해 한 버전이 변경 될 수 있지만 다른 버전은 변경되지 않을 수 있습니다 (그렇지는 않지만)?
편집 : 1 년 후, 나는이 같은 문제를 겪었고 Roslyn 팀은 그것을 해결하는 데 도움을주었습니다 : 제네릭을 사용하고 TAttributeSyntax
대부분의 작업을 수행 하는 매개 변수 가있는 기본 클래스를 작성하십시오 . 그런 다음 특정 유형이 필요한 최소한의 데이터로 파생 클래스를 작성하십시오.