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
222222 }
223223 }
224224
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+
225238 public override CodeTypeDeclaration Generate ( )
226239 {
227240 var classDeclaration = base . Generate ( ) ;
@@ -399,13 +412,15 @@ public List<ClassModel> GetAllDerivedTypes()
399412
400413 public override CodeExpression GetDefaultValueFor ( string defaultString )
401414 {
402- if ( BaseClass is SimpleModel )
415+ var rootClass = AllBaseTypes . LastOrDefault ( ) ;
416+
417+ if ( rootClass is SimpleModel )
403418 {
404419 string reference , val ;
405420
406421 using ( var writer = new System . IO . StringWriter ( ) )
407422 {
408- CSharpProvider . GenerateCodeFromExpression ( BaseClass . GetDefaultValueFor ( defaultString ) , writer , new CodeGeneratorOptions ( ) ) ;
423+ CSharpProvider . GenerateCodeFromExpression ( rootClass . GetDefaultValueFor ( defaultString ) , writer , new CodeGeneratorOptions ( ) ) ;
409424 val = writer . ToString ( ) ;
410425 }
411426
You can’t perform that action at this time.
0 commit comments