Conversation
|
@mgravell Is there anything you need me to do with this PR - I'd love to get this feature in so I can start looking at the DateOnly/TimeOnly support next? |
| public override void PostProcess(in global::Dapper.UnifiedCommand cmd, global::Foo.CommandParameters args, int rowCount) | ||
| { | ||
| var ps = cmd.Parameters; | ||
| args.OutputValue = new global::CustomClassTypeHandler().Parse(ps[0]); |
There was a problem hiding this comment.
this new concerns me; I would prefer something more like:
private static global::CustomClassTypeHandler? __handler42; // some generated pattern/index
private static global::CustomClassTypeHandler __Handler42 => __handler42 ??= new();
// ...
args.OutputValue = __Handler42.Parse(ps[0]);| /// </summary> | ||
| [ImmutableObject(true)] | ||
| [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Module | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method, AllowMultiple = true)] | ||
| [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Module, AllowMultiple = true)] |
There was a problem hiding this comment.
presumably this is to keep the context simpler when emitting readers that may be shared/reused between targets?
|
I apologise for delay - 10 months! that's on me; life gets hectic; I've added some minor feedback, and given the delay is my fault, I'm happy to help deal with any fixup etc caused by delays. Overall approach looks sound. |
|
Looks like DAP048 got take4n by something else |
|
Any updates on this? my TypeHandlers aren't picked by the source generator |
Here's my initial attempt at solving #115
I've added a test case and manually verified the output, which looks like it's picked up the changes without effecting any other tests.
Let me know if you need me to make any changes and I can push them up - I've tried to avoid changing as much of the existing code as possible.