MvsSln icon indicating copy to clipboard operation
MvsSln copied to clipboard

Unlock public collections for modifications

Open 3F opened this issue 6 years ago • 0 comments

Currently we're using some abstraction for enumeration of parsed items (projects, folders, dependencies, all others or most of this).

But v2 provides now analyzed map for some user modifications.

Basically,

Unlocking will give us more quick and convenient way for updating data. Because today's modifications mostly looks like extending its initial data, for example ~

var folders = new List<SolutionFolder>(sln.Result.SolutionFolders)

But to keep it clean, more probably we also need to provide some information about modified state if it was.

What about simply flag state via our wrapped collection ? where add/remove/or even changing value of available items will expose an dirty state after its initial parsing ?

Option 1

draft

  • Extract a common wrapper for existing enumerations.
  • This will provide an modified state after changing its collections.
  • Implement ICloneable interface to prevent shallow copying.
  • Something to reset or get the initial state of data.

Option 2

draft

  • Prepare intermediate wrapper for creating new write-handlers from result.

Please feedback before my some final decision!

3F avatar Mar 30 '19 18:03 3F