codecadwallader / codemaid

CodeMaid is an open source Visual Studio extension to cleanup and simplify our C#, C++, F#, VB, PHP, PowerShell, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript coding.
http://www.codemaid.net
GNU Lesser General Public License v3.0
1.88k stars 353 forks source link

partial class XXX #995

Open johnsunabc opened 1 year ago

johnsunabc commented 1 year ago

Environment

Description

When a class has many partial sub-classes, such as A.cs, A.Drawing.cs, A.Tool.cs, the class like that: A.cs: public sealed partial class A A.Drawing.cs: partial class A A.Tool.cs: partial class A

Steps to recreate

  1. Class A has three files: // A.cs public sealed partial class A { // Main... }

// A.Drawing.cs partial class A { // Sub for drawing ... }

// A.Tool.cs partial class A { // Sub tool for drawing and others ... }

  1. After used CodeMaid: // A.cs public sealed partial class A { // Main... }

// A.Drawing.cs internal partial class A { // Sub for drawing ... }

// A.Tool.cs internal partial class A { // Sub tool for drawing and others ... }

Current behavior

  1. Main part is using "public sealed ...", but sub parts using "internal ".

Expected behavior

All sub parts should be: "public sealed partial class (ClassName)".

codecadwallader commented 1 year ago

Thanks for reporting the issue. We have logic that should(tm) prevent access modifiers from being added to partial classes (link: https://github.com/codecadwallader/codemaid/blob/dev/CodeMaidShared/Logic/Cleaning/InsertExplicitAccessModifierLogic.cs#L61) but I believe this may be another symptom of a known SDK bug (see issue #879 for details).