@@ -76,15 +76,15 @@ public ShapeDescriptorIndex(
76
76
77
77
public override IDictionary < string , ShapeBinding > Bindings => _bindings ;
78
78
79
- public override IEnumerable < Func < ShapeCreatingContext , Task > > CreatingAsync => _creatingAsync ;
79
+ public override IReadOnlyList < Func < ShapeCreatingContext , Task > > CreatingAsync => _creatingAsync ;
80
80
81
- public override IEnumerable < Func < ShapeCreatedContext , Task > > CreatedAsync => _createdAsync ;
81
+ public override IReadOnlyList < Func < ShapeCreatedContext , Task > > CreatedAsync => _createdAsync ;
82
82
83
- public override IEnumerable < Func < ShapeDisplayContext , Task > > DisplayingAsync => _displayingAsync ;
83
+ public override IReadOnlyList < Func < ShapeDisplayContext , Task > > DisplayingAsync => _displayingAsync ;
84
84
85
- public override IEnumerable < Func < ShapeDisplayContext , Task > > ProcessingAsync => _processingAsync ;
85
+ public override IReadOnlyList < Func < ShapeDisplayContext , Task > > ProcessingAsync => _processingAsync ;
86
86
87
- public override IEnumerable < Func < ShapeDisplayContext , Task > > DisplayedAsync => _displayedAsync ;
87
+ public override IReadOnlyList < Func < ShapeDisplayContext , Task > > DisplayedAsync => _displayedAsync ;
88
88
89
89
public override Func < ShapePlacementContext , PlacementInfo > Placement => CalculatePlacement ;
90
90
@@ -104,27 +104,15 @@ private PlacementInfo CalculatePlacement(ShapePlacementContext ctx)
104
104
return info ?? DefaultPlacementAction ( ctx ) ;
105
105
}
106
106
107
- public override IList < string > Wrappers => _wrappers ;
107
+ public override IReadOnlyList < string > Wrappers => _wrappers ;
108
108
109
- public override IList < string > BindingSources => _bindingSources ;
109
+ public override IReadOnlyList < string > BindingSources => _bindingSources ;
110
110
}
111
111
112
112
public class ShapeDescriptor
113
113
{
114
114
public ShapeDescriptor ( )
115
115
{
116
- if ( this is not ShapeDescriptorIndex )
117
- {
118
- CreatingAsync = [ ] ;
119
- CreatedAsync = [ ] ;
120
- DisplayingAsync = [ ] ;
121
- ProcessingAsync = [ ] ;
122
- DisplayedAsync = [ ] ;
123
- Wrappers = [ ] ;
124
- BindingSources = [ ] ;
125
- Bindings = new Dictionary < string , ShapeBinding > ( StringComparer . OrdinalIgnoreCase ) ;
126
- }
127
-
128
116
Placement = DefaultPlacementAction ;
129
117
}
130
118
@@ -154,19 +142,19 @@ protected PlacementInfo DefaultPlacementAction(ShapePlacementContext context)
154
142
public virtual Func < DisplayContext , Task < IHtmlContent > > Binding =>
155
143
Bindings [ ShapeType ] . BindingAsync ;
156
144
157
- public virtual IDictionary < string , ShapeBinding > Bindings { get ; set ; }
145
+ public virtual IDictionary < string , ShapeBinding > Bindings { get ; } = new Dictionary < string , ShapeBinding > ( StringComparer . OrdinalIgnoreCase ) ;
158
146
159
- public virtual IEnumerable < Func < ShapeCreatingContext , Task > > CreatingAsync { get ; set ; }
160
- public virtual IEnumerable < Func < ShapeCreatedContext , Task > > CreatedAsync { get ; set ; }
161
- public virtual IEnumerable < Func < ShapeDisplayContext , Task > > DisplayingAsync { get ; set ; }
162
- public virtual IEnumerable < Func < ShapeDisplayContext , Task > > ProcessingAsync { get ; set ; }
163
- public virtual IEnumerable < Func < ShapeDisplayContext , Task > > DisplayedAsync { get ; set ; }
147
+ public virtual IReadOnlyList < Func < ShapeCreatingContext , Task > > CreatingAsync { get ; set ; } = [ ] ;
148
+ public virtual IReadOnlyList < Func < ShapeCreatedContext , Task > > CreatedAsync { get ; set ; } = [ ] ;
149
+ public virtual IReadOnlyList < Func < ShapeDisplayContext , Task > > DisplayingAsync { get ; set ; } = [ ] ;
150
+ public virtual IReadOnlyList < Func < ShapeDisplayContext , Task > > ProcessingAsync { get ; set ; } = [ ] ;
151
+ public virtual IReadOnlyList < Func < ShapeDisplayContext , Task > > DisplayedAsync { get ; set ; } = [ ] ;
164
152
165
153
public virtual Func < ShapePlacementContext , PlacementInfo > Placement { get ; set ; }
166
154
public string DefaultPlacement { get ; set ; }
167
155
168
- public virtual IList < string > Wrappers { get ; set ; }
169
- public virtual IList < string > BindingSources { get ; set ; }
156
+ public virtual IReadOnlyList < string > Wrappers { get ; set ; } = [ ] ;
157
+ public virtual IReadOnlyList < string > BindingSources { get ; set ; } = [ ] ;
170
158
}
171
159
172
160
public class ShapeBinding
0 commit comments