Comments (4)
Temporary workaround for this issue will be to inject the IEventAggregator manually as the very last injection attribute (CodeAnalysis checks attributes from class name upwards, i think):
using SampleApp.Events;
using MvvmGen;
using MvvmGen.Events;
using System;
namespace SampleApp.ViewModel
{
[Inject(typeof(IEventAggregator))]
[ViewModelGenerateFactory]
[ViewModel]
public partial class SampleViewModel : IEventSubscriber<SampleEvent>
{
public void OnEvent(SampleEvent eventData)
{
throw new NotImplementedException();
}
}
}
Constructor generator will ignore this and factory generator will get the needed interface and creates the correct constructor call.
Possible solution to this issue can be to check for
viewModelToGenerate.IsEventSubscriber == true
in ViewModelFactoryGenerator.cs and add IEventAggregator code as it is done in ConstructorGenerator.cs
from mvvmgen.
Proposal Solution 6259314
Actually the proposal is not tested, because I don't have the time right now to setup mvvmgen build pipeline to use the new build in my project or to read into the testsetup.
from mvvmgen.
Thank you @Daimonion1980.
I'm out this week, will take a look at it when it comes to the end of November. On another thread, I also owe you a validation sample. That will come as well.
from mvvmgen.
Thank you @Daimonion1980 for reporting this. Will be part of the next release.
from mvvmgen.
Related Issues (20)
- Release 1.3.0
- Update documentation to include latest changes of release 1.3.0
- Issue with abstract classes HOT 2
- Prepare release 1.2.1
- Release 1.2.1
- Set up Source Link for MvvmGen NuGet package to increase debugging experience
- Suppress nullable warnings HOT 6
- Generating properties from a model which has a Model property fails HOT 3
- Transient ViewModels with IEventSubscriber HOT 9
- Automatic interface generation with generics not working HOT 2
- Custom ICommand implementation HOT 6
- How to exclude IEnumerable Model properties from generation HOT 3
- ViewModel Inheritance not working HOT 3
- Update Test-Projects to .NET 8
- Set EnforeExtendedAnalyzerRules property on generator project
- Fix nullable warnings in MvvmGen solution
- Raise CommandInvalidate when adding or removing elements on collection HOT 4
- Prepare Release 1.3.0
- Fix null warnings in ViewModelAttributeInspector
- Adjust readme for NuGet to include new Command generation code
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 mvvmgen.