This repository was archived by the owner on Jun 21, 2023. It is now read-only.
File tree 2 files changed +13
-6
lines changed
2 files changed +13
-6
lines changed Original file line number Diff line number Diff line change @@ -12,11 +12,11 @@ public interface IMenuProvider
12
12
/// <summary>
13
13
/// Registered via AddTopLevelMenuItem
14
14
/// </summary>
15
- IEnumerable < IMenuHandler > Menus { get ; set ; }
15
+ IReadOnlyCollection < IMenuHandler > Menus { get ; }
16
16
17
17
/// <summary>
18
18
/// Registered via AddDynamicMenuItem
19
19
/// </summary>
20
- IEnumerable < IDynamicMenuHandler > DynamicMenus { get ; set ; }
20
+ IReadOnlyCollection < IDynamicMenuHandler > DynamicMenus { get ; }
21
21
}
22
22
}
Original file line number Diff line number Diff line change 1
1
using System . Collections . Generic ;
2
+ using System . Collections . ObjectModel ;
2
3
using System . ComponentModel . Composition ;
4
+ using System . Linq ;
3
5
4
6
namespace GitHub . VisualStudio . Menus
5
7
{
6
8
[ Export ( typeof ( IMenuProvider ) ) ]
7
9
[ PartCreationPolicy ( CreationPolicy . Shared ) ]
8
10
public class MenuProvider : IMenuProvider
9
11
{
10
- [ ImportMany ]
11
- public IEnumerable < IMenuHandler > Menus { get ; set ; }
12
+ public IReadOnlyCollection < IMenuHandler > Menus { get ; private set ; }
12
13
13
- [ ImportMany ]
14
- public IEnumerable < IDynamicMenuHandler > DynamicMenus { get ; set ; }
14
+ public IReadOnlyCollection < IDynamicMenuHandler > DynamicMenus { get ; private set ; }
15
+
16
+ [ ImportingConstructor ]
17
+ public MenuProvider ( [ ImportMany ] IEnumerable < IMenuHandler > menus , [ ImportMany ] IEnumerable < IDynamicMenuHandler > dynamicMenus )
18
+ {
19
+ Menus = new ReadOnlyCollection < IMenuHandler > ( menus . ToList ( ) ) ;
20
+ DynamicMenus = new ReadOnlyCollection < IDynamicMenuHandler > ( dynamicMenus . ToList ( ) ) ;
21
+ }
15
22
}
16
23
}
You can’t perform that action at this time.
0 commit comments