Comments (7)
I'm not sure what's the expected behavior of this type of method. Could you provide a sample implementation?
from mappinggenerator.
public MyDest Map(MySource source, MyDest target)
{
target.Foo = source.Foo;
target.Bar = source.Bar;
target.Baz = source.Baz;
return target;
}
Basically the same as the generated mapping for this signature
public void Update(MySource source, MyDest target);
The reason why it would be nice to have is that the signature with return-value can be chained, used as input-parameter, etc.
from mappinggenerator.
I'm not convinced about this idea. This kind of method is very confusing. When I see that kind of signature I always need to check the implementation because it's very hard to figure out what the expected outcome should be. Besides, method chaining makes the debugging very hard. Adding this kind of feature to MappingGenerator would support bad programming practices.
from mappinggenerator.
I just wanted to recreate a seamless drop in implementation for an API that already exists that way in automapper. Not really agreeing on the bad code aspect here but ok, fair enough.
from mappinggenerator.
Just out of pure curiosity, could you provide a real-life example of chaining mapping methods?
from mappinggenerator.
It's less the chaining and more the return type that is useful, for example you have your ApiController and you can call
Ok(_mapper.Map(sourceBo, targetDto);
But i guess i can work around the limitation by adapting my BaseMapper a bit. Thanks for your time.
from mappinggenerator.
I would suggest naming mapping method that updates the second parameter just Update
:
public void Update(MySource source, MyDest target)
{
target.Foo = source.Foo;
target.Bar = source.Bar;
target.Baz = source.Baz;
}
and split the usage into two separrated lines (do not invoke method inside the parameter):
_mapper.Map(sourceBo, targetDto);
Ok(targetDto);
In that way, your code will be more readable and easier to understand.
from mappinggenerator.
Related Issues (20)
- NullReferenceException on omitted type parameter HOT 4
- Source Generators HOT 4
- Mapping properties of one type on another HOT 1
- Inconsistent behaviour HOT 17
- Implement Clone Method refactoring has issues with arrow functions
- Allow different spellings for comparison HOT 6
- Use the existing instance instead of creating a new one HOT 9
- Generate unit tests HOT 3
- Suggestion: Scaffold invocation on multiple lines. HOT 2
- Suggestion: Varying sample data HOT 3
- Could not load type 'MappingGenerator.Features.CodeFixes.ExplicitConversionCodeFixProvider' HOT 12
- How do I "Verify your Roslyn integration option in case you are using R#."? HOT 2
- VSCode extention ? HOT 1
- ValueCollection appears to cause crash on Quick Action HOT 3
- UnitTest generator? HOT 2
- Visual Studio Performance slowing down HOT 1
- Fix NuGet package OnBuildGenerator HOT 4
- Improve interaction with `[InitRequired]` HOT 6
- Mapping from nullable structs to simple value handled incorrectly
- Generating mapping expression for C# 9 positional records HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mappinggenerator.