Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unlock public collections for modifications #9

Open
3F opened this issue Mar 30, 2019 · 0 comments
Open

Unlock public collections for modifications #9

3F opened this issue Mar 30, 2019 · 0 comments

Comments

@3F
Copy link
Owner

3F commented Mar 30, 2019

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 3F changed the title Unlock public collections for modifications. ~ IEnumerable to IList etc Unlock public collections for modifications Mar 30, 2019
@3F 3F mentioned this issue Sep 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant