Open rmarskell opened 1 month ago
Only field constants are supported.
Property's default value, property's getter defined by expression body, object and collection initializers are not currently supported. Mostly because these are C# syntax sugar that do not exist on Roslyn level (symbol/semantic).
But all the objects in NTypewriter code model have ISymbolBase.SourceCode
property that gives access to C# syntax that defines a given object, so you can write a custom function that will parse any C# syntax to any TS.
Thanks for the quick reply. Is there any example code I could look at that utilizes that property as you suggest?
There is no example, and as far as I know, no one has ever tried to get access to what you call a property's default value.
The type of ISymbolBase.SourceCode
is string
, and probably some regular expression would be necessary to extract required informations, but all this can be done on the user side.
Hey there, I'm looking to integrate NTypewriter (source generator) into a new project and so far I'm loving the capabilities. A previous project I worked on used TypeGen and while it was good for simplicity, there was no real control over the templates. I've been able to replicate all of the functionality of TypeGen with NTypewriter, except one big thing (default values) and I'm hoping I'm just missing something/not searching the correct terms.
Basically, given the following C# classes...
...is it possible to output the default values in a TS class something like this:
Basically, is there a way to access the default values for properties to output them?