Skip to content

Commit 5d81e07

Browse files
committed
BookLib: Update packages and fix warnings
1 parent 894a28e commit 5d81e07

File tree

24 files changed

+76
-106
lines changed

24 files changed

+76
-106
lines changed

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications.Test/Controllers/BookControllerTest.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public void AddAndRemoveTest()
8787
bookListViewModel.AddSelectedBook(bookListViewModel.Books![^1]);
8888
Assert.IsTrue(bookListViewModel.RemoveCommand!.CanExecute(null));
8989
bookListViewModel.RemoveCommand.Execute(null);
90-
AssertHelper.SequenceEqual(new[] { fellowship }, entityService.Books);
90+
AssertHelper.SequenceEqual([ fellowship ], entityService.Books);
9191
Assert.AreEqual(fellowship, bookViewModel.Book);
9292
Assert.IsTrue(bookListView.FirstCellHasFocus);
9393

@@ -175,7 +175,7 @@ public void RemoveAndSelection2Test()
175175
bookListViewModel.SelectedBook = bookListViewModel.Books!.Single(b => b.Book == twoTowers);
176176
bookListViewModel.AddSelectedBook(bookListViewModel.SelectedBook);
177177
bookListViewModel.RemoveCommand!.Execute(null);
178-
AssertHelper.SequenceEqual(new[] { fellowship, returnKing }, entityService.Books);
178+
AssertHelper.SequenceEqual([ fellowship, returnKing ], entityService.Books);
179179
Assert.AreEqual(returnKing, bookListViewModel.SelectedBook.Book);
180180
}
181181

@@ -239,8 +239,8 @@ public void LendToTest()
239239
Assert.AreEqual(fellowship, viewModel.Book);
240240
Assert.AreEqual(entityService.Persons, viewModel.Persons);
241241

242-
// Lend the book to Ron
243-
viewModel.SelectedPerson = ron;
242+
// Lend the book to Ron
243+
viewModel.SelectedPerson = ron;
244244
viewModel.OkCommand.Execute(null);
245245
};
246246
bookViewModel.LendToCommand!.Execute(fellowship);

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications.Test/Controllers/PersonControllerTest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public void AddAndRemoveTest()
8383
personListViewModel.AddSelectedPerson(entityService.Persons[^1]);
8484
Assert.IsTrue(personListViewModel.RemoveCommand!.CanExecute(null));
8585
personListViewModel.RemoveCommand.Execute(null);
86-
AssertHelper.SequenceEqual(new[] { harry }, entityService.Persons);
86+
AssertHelper.SequenceEqual([ harry ], entityService.Persons);
8787
Assert.AreEqual(harry, personViewModel.Person);
8888
Assert.IsTrue(personListView.FirstCellHasFocus);
8989

@@ -189,7 +189,7 @@ public void RemoveAndSelection1Test()
189189
personListViewModel.SelectedPerson = ginny;
190190
personListViewModel.AddSelectedPerson(personListViewModel.SelectedPerson);
191191
personListViewModel.RemoveCommand!.Execute(null);
192-
AssertHelper.SequenceEqual(new[] { harry, ron }, entityService.Persons);
192+
AssertHelper.SequenceEqual([ harry, ron ], entityService.Persons);
193193
Assert.AreEqual(harry, personListViewModel.SelectedPerson);
194194
}
195195

@@ -214,7 +214,7 @@ public void RemoveAndSelection2Test()
214214
personListViewModel.SelectedPerson = ron;
215215
personListViewModel.AddSelectedPerson(personListViewModel.SelectedPerson);
216216
personListViewModel.RemoveCommand!.Execute(null);
217-
AssertHelper.SequenceEqual(new[] { harry, ginny }, entityService.Persons);
217+
AssertHelper.SequenceEqual([ harry, ginny ], entityService.Persons);
218218
Assert.AreEqual(harry, personListViewModel.SelectedPerson);
219219
}
220220

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications.Test/TestClassBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public void Initialize()
2121

2222
OnCatalogInitialize(catalog);
2323

24-
Container = new CompositionContainer(catalog, CompositionOptions.DisableSilentRejection);
24+
Container = new(catalog, CompositionOptions.DisableSilentRejection);
2525
var batch = new CompositionBatch();
2626
batch.AddExportedValue(Container);
2727
Container.Compose(batch);

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications.Test/ViewModels/BookListViewModelTest.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ public class BookListViewModelTest
1818
public void BookListViewModelBooksTest()
1919
{
2020
var books = new ObservableList<Book>()
21-
{
22-
new() { Title = "The Fellowship of the Ring" },
23-
new() { Title = "The Two Towers" }
24-
};
21+
{
22+
new() { Title = "The Fellowship of the Ring" },
23+
new() { Title = "The Two Towers" }
24+
};
2525
var bookListView = new MockBookListView();
2626
var bookDataModels = new SynchronizingList<BookDataModel, Book>(books, b => new BookDataModel(b, dummyCommand));
2727
var bookListViewModel = new BookListViewModel(bookListView) { Books = bookDataModels };
@@ -46,10 +46,10 @@ public void BookListViewModelBooksTest()
4646
public void BookListViewModelFilterTest()
4747
{
4848
var books = new ObservableList<Book>()
49-
{
50-
new() { Title = "The Fellowship of the Ring", Author = "J.R.R. Tolkien" },
51-
new() { Title = "The Two Towers", Author = "J.R.R. Tolkien" }
52-
};
49+
{
50+
new() { Title = "The Fellowship of the Ring", Author = "J.R.R. Tolkien" },
51+
new() { Title = "The Two Towers", Author = "J.R.R. Tolkien" }
52+
};
5353
var bookListView = new MockBookListView();
5454
var bookDataModels = new SynchronizingList<BookDataModel, Book>(books, b => new BookDataModel(b, dummyCommand));
5555
var bookListViewModel = new BookListViewModel(bookListView) { Books = bookDataModels };

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications.Test/ViewModels/LendToViewModelTest.cs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public void LendToViewModelLendToTest()
2020
{
2121
var book = new Book() { Title = "The Fellowship of the Ring" };
2222
var persons = new List<Person>()
23-
{
24-
new() { Firstname = "Harry" },
25-
new() { Firstname = "Ron" }
26-
};
23+
{
24+
new() { Firstname = "Harry" },
25+
new() { Firstname = "Ron" }
26+
};
2727
var lendToView = new MockLendToView();
2828
var lendToViewModel = new LendToViewModel(lendToView) { Book = book, Persons = persons, SelectedPerson = persons[0] };
2929

@@ -37,16 +37,16 @@ public void LendToViewModelLendToTest()
3737
Assert.IsTrue(lendToView.IsVisible);
3838
Assert.AreEqual(owner, lendToView.Owner);
3939

40-
// Check the default values
41-
Assert.IsTrue(lendToViewModel.IsLendTo);
40+
// Check the default values
41+
Assert.IsTrue(lendToViewModel.IsLendTo);
4242
Assert.IsFalse(lendToViewModel.IsWasReturned);
4343
Assert.AreEqual(persons[0], lendToViewModel.SelectedPerson);
4444

45-
// Select the last person: Lend to Ron
46-
AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.SelectedPerson, () => lendToViewModel.SelectedPerson = persons[^1]);
45+
// Select the last person: Lend to Ron
46+
AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.SelectedPerson, () => lendToViewModel.SelectedPerson = persons[^1]);
4747

48-
// Press Ok button
49-
lendToViewModel.OkCommand.Execute(null);
48+
// Press Ok button
49+
lendToViewModel.OkCommand.Execute(null);
5050
};
5151

5252
MockLendToView.ShowDialogAction = showDialogAction;
@@ -59,10 +59,10 @@ public void LendToViewModelLendToTest()
5959
public void LendToViewModelWasReturnedTest()
6060
{
6161
var persons = new List<Person>()
62-
{
63-
new() { Firstname = "Harry" },
64-
new() { Firstname = "Ron" }
65-
};
62+
{
63+
new() { Firstname = "Harry" },
64+
new() { Firstname = "Ron" }
65+
};
6666
var book = new Book() { Title = "The Fellowship of the Ring", LendTo = persons[0] };
6767
var lendToView = new MockLendToView();
6868
var lendToViewModel = new LendToViewModel(lendToView) { Book = book, Persons = persons, SelectedPerson = persons[0] };
@@ -71,17 +71,17 @@ public void LendToViewModelWasReturnedTest()
7171
var owner = new object();
7272
Action<MockLendToView> showDialogAction = _ =>
7373
{
74-
// Check the default values
75-
Assert.IsFalse(lendToViewModel.IsLendTo);
74+
// Check the default values
75+
Assert.IsFalse(lendToViewModel.IsLendTo);
7676
Assert.IsTrue(lendToViewModel.IsWasReturned);
7777

78-
// Change check boxes
79-
AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.IsLendTo, () => lendToViewModel.IsLendTo = true);
78+
// Change check boxes
79+
AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.IsLendTo, () => lendToViewModel.IsLendTo = true);
8080
Assert.IsTrue(lendToViewModel.IsLendTo);
8181
Assert.IsFalse(lendToViewModel.IsWasReturned);
8282

83-
// Restore the original check boxes state
84-
AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.IsWasReturned, () => lendToViewModel.IsWasReturned = true);
83+
// Restore the original check boxes state
84+
AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.IsWasReturned, () => lendToViewModel.IsWasReturned = true);
8585
Assert.IsFalse(lendToViewModel.IsLendTo);
8686
Assert.IsTrue(lendToViewModel.IsWasReturned);
8787

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications.Test/ViewModels/PersonListViewModelTest.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ public class PersonListViewModelTest : TestClassBase
1313
public void PersonListViewModelPersonsTest()
1414
{
1515
var persons = new List<Person>()
16-
{
17-
new() { Firstname = "Harry" },
18-
new() { Firstname = "Ron" }
19-
};
16+
{
17+
new() { Firstname = "Harry" },
18+
new() { Firstname = "Ron" }
19+
};
2020
var personListView = new MockPersonListView();
2121
var personListViewModel = new PersonListViewModel(personListView) { Persons = persons };
2222

@@ -40,10 +40,10 @@ public void PersonListViewModelPersonsTest()
4040
public void PersonListViewModelFilterTest()
4141
{
4242
var persons = new List<Person>()
43-
{
44-
new() { Firstname = "Harry", Lastname = "Potter" },
45-
new() { Firstname = "Ron", Lastname = "Weasley" }
46-
};
43+
{
44+
new() { Firstname = "Harry", Lastname = "Potter" },
45+
new() { Firstname = "Ron", Lastname = "Weasley" }
46+
};
4747
var personListView = new MockPersonListView();
4848
var personListViewModel = new PersonListViewModel(personListView) { Persons = persons };
4949

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications/Controllers/BookController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ public BookController(IShellService shellService, IEntityService entityService,
2929
this.bookListViewModel = bookListViewModel;
3030
this.bookViewModel = bookViewModel;
3131
this.lendToViewModelFactory = lendToViewModelFactory;
32-
addNewCommand = new DelegateCommand(AddNewBook, CanAddNewBook);
33-
removeCommand = new DelegateCommand(RemoveBook, CanRemoveBook);
34-
lendToCommand = new DelegateCommand(p => LendTo((Book)p!));
32+
addNewCommand = new(AddNewBook, CanAddNewBook);
33+
removeCommand = new(RemoveBook, CanRemoveBook);
34+
lendToCommand = new(p => LendTo((Book)p!));
3535
}
3636

3737
internal ObservableListView<BookDataModel>? BooksView { get; private set; }
@@ -70,7 +70,7 @@ private void AddNewBook()
7070

7171
private void RemoveBook()
7272
{
73-
var booksToExclude = bookListViewModel.SelectedBooks.Except(new[] { bookListViewModel.SelectedBook });
73+
var booksToExclude = bookListViewModel.SelectedBooks.Except([ bookListViewModel.SelectedBook ]);
7474
var nextBook = bookListViewModel.Books!.Except(booksToExclude).GetNextElementOrDefault(bookListViewModel.SelectedBook);
7575

7676
foreach (var x in bookListViewModel.SelectedBooks.ToArray()) entityService.Books.Remove(x.Book);

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications/Controllers/EntityController.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,14 @@ internal class EntityController : IEntityController
2222
private DbContext? bookLibraryContext;
2323

2424
[ImportingConstructor]
25-
public EntityController(EntityService entityService, IMessageService messageService, IShellService shellService,
26-
IDBContextService dBContextService, Lazy<ShellViewModel> shellViewModel)
25+
public EntityController(EntityService entityService, IMessageService messageService, IShellService shellService, IDBContextService dBContextService, Lazy<ShellViewModel> shellViewModel)
2726
{
2827
this.entityService = entityService;
2928
this.messageService = messageService;
3029
this.shellService = shellService;
3130
this.dBContextService = dBContextService;
3231
this.shellViewModel = shellViewModel;
33-
saveCommand = new DelegateCommand(() => Save(), CanSave);
32+
saveCommand = new(() => Save(), CanSave);
3433
}
3534

3635
private ShellViewModel ShellViewModel => shellViewModel.Value;

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications/Controllers/ModuleController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public ModuleController(IMessageService messageService, IEntityController entity
2929
this.personController = personController;
3030
this.shellService = shellService;
3131
this.shellViewModel = shellViewModel;
32-
exitCommand = new DelegateCommand(Close);
32+
exitCommand = new(Close);
3333
}
3434

3535
private ShellViewModel ShellViewModel => shellViewModel.Value;

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications/Controllers/PersonController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ public PersonController(IMessageService messageService, IShellService shellServi
3232
this.emailService = emailService;
3333
this.personListViewModel = personListViewModel;
3434
this.personViewModel = personViewModel;
35-
addNewCommand = new DelegateCommand(AddNewPerson, CanAddPerson);
36-
removeCommand = new DelegateCommand(RemovePerson, CanRemovePerson);
37-
createNewEmailCommand = new DelegateCommand(CreateNewEmail!);
35+
addNewCommand = new(AddNewPerson, CanAddPerson);
36+
removeCommand = new(RemovePerson, CanRemovePerson);
37+
createNewEmailCommand = new(CreateNewEmail!);
3838
}
3939

4040
internal ObservableListView<Person>? PersonsView { get; private set; }
@@ -43,7 +43,7 @@ public void Initialize()
4343
{
4444
personViewModel.CreateNewEmailCommand = createNewEmailCommand;
4545
personViewModel.PropertyChanged += PersonViewModelPropertyChanged;
46-
PersonsView = new ObservableListView<Person>(entityService.Persons, null, personListViewModel.Filter, null);
46+
PersonsView = new(entityService.Persons, null, personListViewModel.Filter, null);
4747
personListViewModel.Persons = PersonsView;
4848
personListViewModel.AddNewCommand = addNewCommand;
4949
personListViewModel.RemoveCommand = removeCommand;

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications/Data/BookLibraryContext.cs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,8 @@
22

33
namespace Waf.BookLibrary.Library.Applications.Data;
44

5-
public class BookLibraryContext : DbContext
5+
public class BookLibraryContext(DbContextOptions options, Action<ModelBuilder>? onModelCreating = null) : DbContext(options)
66
{
7-
private readonly Action<ModelBuilder>? onModelCreating;
8-
9-
public BookLibraryContext(DbContextOptions options, Action<ModelBuilder>? onModelCreating = null) : base(options)
10-
{
11-
this.onModelCreating = onModelCreating;
12-
}
13-
147
protected override void OnModelCreating(ModelBuilder modelBuilder)
158
{
169
base.OnModelCreating(modelBuilder);

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications/GlobalSuppressions.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
1-
[assembly: SuppressMessage("Microsoft.Portability", "CA1903:UseOnlyApiFromTargetedFramework", MessageId = "System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
21
[assembly: SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Scope = "type", Target = "~T:Waf.BookLibrary.Library.Applications.Controllers.EntityController")]
32
[assembly: SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "BookList", Scope = "type", Target = "~T:Waf.BookLibrary.Library.Applications.ViewModels.BookListViewModel")]
43
[assembly: SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "BookList", Scope = "type", Target = "~T:Waf.BookLibrary.Library.Applications.Views.IBookListView")]
5-
[assembly: SuppressMessage("Microsoft.Portability", "CA1903:UseOnlyApiFromTargetedFramework", MessageId = "System.ComponentModel.DataAnnotations, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")]
64
[assembly: SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "CanSave", Scope = "member", Target = "~M:Waf.BookLibrary.Library.Applications.Controllers.EntityController.Save~System.Boolean")]
75
[assembly: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "~M:Waf.BookLibrary.Library.Applications.ViewModels.PersonListViewModel.Filter(Waf.BookLibrary.Library.Domain.Person)~System.Boolean")]
86
[assembly: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "~M:Waf.BookLibrary.Library.Applications.ViewModels.BookListViewModel.Filter(Waf.BookLibrary.Library.Applications.DataModels.BookDataModel)~System.Boolean")]
97
[assembly: SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Scope = "member", Target = "~M:Waf.BookLibrary.Library.Applications.Controllers.ModuleController.Shutdown")]
108
[assembly: SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "BookList", Scope = "member", Target = "~P:Waf.BookLibrary.Library.Applications.Services.IShellService.BookListView")]
119
[assembly: SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic", Scope = "member", Target = "~P:Waf.BookLibrary.Library.Applications.ViewModels.ShellViewModel.Title")]
1210
[assembly: SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Scope = "type", Target = "~T:Waf.BookLibrary.Library.Applications.Controllers.BookController")]
13-
[assembly: SuppressMessage("Microsoft.Naming", "CA1703:ResourceStringsShouldBeSpelledCorrectly", MessageId = "github", Scope = "resource", Target = "Waf.BookLibrary.Library.Applications.Properties.Resources.resources")]
14-
[assembly: SuppressMessage("Microsoft.Naming", "CA1703:ResourceStringsShouldBeSpelledCorrectly", MessageId = "jbe", Scope = "resource", Target = "Waf.BookLibrary.Library.Applications.Properties.Resources.resources")]
1511
[assembly: SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic", Scope = "member", Target = "~P:Waf.BookLibrary.Library.Applications.ViewModels.LendToViewModel.Title")]
1612
[assembly: SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "<Pending>", Scope = "member", Target = "~P:Waf.BookLibrary.Library.Applications.ViewModels.LendToViewModel.Book")]
1713
[assembly: SuppressMessage("Performance", "CA1826:Do not use Enumerable methods on indexable collections", Justification = "<Pending>", Scope = "member", Target = "~M:Waf.BookLibrary.Library.Applications.Controllers.BookController.Initialize")]

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications/ViewModels/BookListViewModel.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Waf.BookLibrary.Library.Applications.ViewModels;
99
[Export]
1010
public class BookListViewModel : ViewModel<IBookListView>
1111
{
12-
private readonly ObservableList<BookDataModel> selectedBooks;
12+
private readonly ObservableList<BookDataModel> selectedBooks = [];
1313
private bool isValid = true;
1414
private BookDataModel? selectedBook;
1515
private string filterText = "";
@@ -18,10 +18,9 @@ public class BookListViewModel : ViewModel<IBookListView>
1818
[ImportingConstructor]
1919
public BookListViewModel(IBookListView view) : base(view)
2020
{
21-
selectedBooks = new();
2221
}
2322

24-
public IReadOnlyList<BookDataModel> SelectedBooks => selectedBooks;
23+
public IReadOnlyObservableList<BookDataModel> SelectedBooks => selectedBooks;
2524

2625
public bool IsValid
2726
{

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications/ViewModels/LendToViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class LendToViewModel : ViewModel<ILendToView>
1919
[ImportingConstructor]
2020
public LendToViewModel(ILendToView view) : base(view)
2121
{
22-
okCommand = new DelegateCommand(OkHandler);
22+
okCommand = new(OkHandler);
2323
}
2424

2525
public string Title => ApplicationInfo.ProductName;

src/System.Waf/Samples/BookLibrary/BookLibrary.Library.Applications/ViewModels/PersonListViewModel.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Waf.BookLibrary.Library.Applications.ViewModels;
99
[Export]
1010
public class PersonListViewModel : ViewModel<IPersonListView>
1111
{
12-
private readonly ObservableList<Person> selectedPersons;
12+
private readonly ObservableList<Person> selectedPersons = [];
1313
private bool isValid = true;
1414
private Person? selectedPerson;
1515
private string filterText = "";
@@ -18,7 +18,6 @@ public class PersonListViewModel : ViewModel<IPersonListView>
1818
[ImportingConstructor]
1919
public PersonListViewModel(IPersonListView view) : base(view)
2020
{
21-
selectedPersons = new();
2221
}
2322

2423
public IReadOnlyList<Person> SelectedPersons => selectedPersons;

0 commit comments

Comments
 (0)