File tree Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -222,6 +222,19 @@ public IEnumerable<ClassModel> AllBaseClasses
222
222
}
223
223
}
224
224
225
+ public IEnumerable < TypeModel > AllBaseTypes
226
+ {
227
+ get
228
+ {
229
+ var baseType = BaseClass ;
230
+ while ( baseType != null )
231
+ {
232
+ yield return baseType ;
233
+ baseType = ( baseType as ClassModel ) ? . BaseClass ;
234
+ }
235
+ }
236
+ }
237
+
225
238
public override CodeTypeDeclaration Generate ( )
226
239
{
227
240
var classDeclaration = base . Generate ( ) ;
@@ -399,13 +412,15 @@ public List<ClassModel> GetAllDerivedTypes()
399
412
400
413
public override CodeExpression GetDefaultValueFor ( string defaultString )
401
414
{
402
- if ( BaseClass is SimpleModel )
415
+ var rootClass = AllBaseTypes . LastOrDefault ( ) ;
416
+
417
+ if ( rootClass is SimpleModel )
403
418
{
404
419
string reference , val ;
405
420
406
421
using ( var writer = new System . IO . StringWriter ( ) )
407
422
{
408
- CSharpProvider . GenerateCodeFromExpression ( BaseClass . GetDefaultValueFor ( defaultString ) , writer , new CodeGeneratorOptions ( ) ) ;
423
+ CSharpProvider . GenerateCodeFromExpression ( rootClass . GetDefaultValueFor ( defaultString ) , writer , new CodeGeneratorOptions ( ) ) ;
409
424
val = writer . ToString ( ) ;
410
425
}
411
426
You can’t perform that action at this time.
0 commit comments