logo
down
shadow

Autofac Resolve with TypedParameter always pick up first the same type parameter expected?


Autofac Resolve with TypedParameter always pick up first the same type parameter expected?

Content Index :

Autofac Resolve with TypedParameter always pick up first the same type parameter expected?
Tag : chash , By : Gabe
Date : November 24 2020, 12:01 PM

this will help A TypedParameter will match with the specified type no matter the order it was specified.
You can use a PositionalParameter to match a parameter with a specific position
var instance = container.Resolve<A>(
                   new PositionalParameter(1, "First"),
                   new PositionalParameter(2, "Second")
                ); 
public static class PositionalParameterExtensions
{
    public static IEnumerable<PositionalParameter> From(params Object[] args)
    {
        return args.Select((o, i) => new PositionalParameter(i, o)); 
    }
}
var instance = container.Resolve<A>(PositionalParameterExtensions.From("first", "second"));
var instance = container.Resolve<A>(
                   new NamedParameter("a", "First"),
                   new NamedParameter("b", "Second")
                ); 

Comments
No Comments Right Now !

Boards Message :
You Must Login Or Sign Up to Add Your Comments .

Share : facebook icon twitter icon

Autofac different service resolution based on TypedParameter


Tag : chash , By : 40a
Date : March 29 2020, 07:55 AM
hope this fix your issue Take a look at my solution to this question. Perhaps you can use the same solution, with a Func factory delegate instead, and have ServiceImplX Keyed to the corresponding child type instead of using Named registrations.

Does Ninject have an equivalent of Autofac's TypedParameter or ResolvedParameter?


Tag : development , By : DonMac
Date : March 29 2020, 07:55 AM
wish of those help I think what you want are conditional bindings. The most universal one is:
Bind<IFoo>().To<Foo>().When(request => SomeFancyFilter(); }
Bind<IFoo>().To<Foo1>().WhenInjectedInto<Class1>()
Bind<IFoo>().To<Foo2>().WhenInjectedInto<Class2>()
public Class1([Bar1]IFoo foo)
public Class2([Bar2]IFoo foo)
public Class3([Bar2]IFoo foo)

Bind<IFoo>().To<Foo1>().WhenTargetHas<Bar1Attribute>()
Bind<IFoo>().To<Foo2>().WhenTargetHas<Bar2Attribute>()

Autofac lazy TypedParameter


Tag : development , By : alexandruz
Date : March 29 2020, 07:55 AM
To fix the issue you can do You're looking for ResolvedParameter, also available as an overload to WithParameter():
builder.RegisterType<RootService>()
  .WithParameter((pi, c) => pi.ParameterType == typeof(IChildService),
                 (pi, c) => c.ResolveNamed<IChildService>(key));

How do I register a Type in Autofac with a parameter and resolve it with parameters?


Tag : chash , By : obijywk
Date : March 29 2020, 07:55 AM
this will help Can I register a type with a constructor parameter, and pass a parameter when I resolve it? Essentially combining the parameters? , I would do the registrations like this:
builder
    .Register((c, p) => new Foo(
        c.ResolveKeyed<object>("session"),
        p.Named<object>("instance")));

builder
    .Register(c => FindTheSession())
    .Keyed<object>("session");

closed generic type registration - Autofac – cannot resolve parameter x of constructor


Tag : asp.net-core , By : Shane
Date : March 29 2020, 07:55 AM
Does that help The issue is caused by the way of registration of DatabaseFactory<>. This type is registered as an interface IDatabaseFactory<>. But it is resolved as itself in lambda argument of method WithParameter() on registration of repositories:
 _builder.RegisterAssemblyTypes(_assembly)
        .AsClosedTypesOf(typeof(IRepository<>))
        .WithParameter(new ResolvedParameter((p, i) => p.Name == "databaseFactory",
                                             // resolving type it self
                                             // while it was registered as interface
                                             (p, i) => i.Resolve<DatabaseFactory<AppDbContext>>()))
.WithParameter(new ResolvedParameter((p, i) => p.Name == "databaseFactory",
                                     (p, i) => i.Resolve<IDatabaseFactory<AppDbContext>>()))
_builder.RegisterGeneric(typeof(DatabaseFactory<>))
        .As(typeof(IDatabaseFactory<>))
        // Register also as DatabaseFactory<>
        .AsSelf()
        .InstancePerDependency();
Related Posts Related QUESTIONS :
  • C# List IList or IEnumerable as argument
  • Parsing File with C# And Replace method
  • Losing special unicode characters in encryption (C#)
  • Getting stored procedure returned value instead of row affected
  • How can I construct HTML using NameValuePair in android?
  • Loading a pop up page in ASP.net through a js file
  • How to pass alert or notification message from controller to View?
  • C# to pause, turn on ssas server, backup cube.... how to?
  • How to execute DataTable.Select() for a column of custom class type for a particular element in that C#
  • how to connect mysql8.0 with C#
  • Passing incorrect values into MultiValueConverter by MultiBinding
  • Can i use IEnumerator as Update func?
  • How to convert API Json response to C# Array?
  • Blazor Textfield Oninput User Typing Delay
  • Performing both layout and render transform results in wrong output
  • uwp beforetextchanged cursor moving in front of text
  • How to keep duplicates from a string[] exclude words from a List and print them out
  • .Net Core Strings.Asc/Mid/Chr/Len missing even after importing Microsoft.VisualBasic
  • How to return to previous search page without being asked to Confirm Form Re-submission and keeping the results on ASP.N
  • How set a identity scaffolding item/page how initial page in asp.net MVC core?
  • LINQ isn't calling Dispose on my IEnumerator when using Union and Select, expected behavior or bug?
  • What is "ByteArray.uncompress()" in AS3 equivalent to in C#?
  • Getting a specific letter from a string variable for my simple guessing game for clues
  • Send an email with Outlook without a subject --- dialog box issue
  • passing List<MyModel> from my controller in the "WebInterfaceProject" to the processor method in "D
  • How to convert Word document created from template by OpenXML into MemoryStream?
  • How can I make a single slider that changes the color of an object?
  • Remap JSON parameter in c#
  • What is the difference between "this ref" and "ref this" when talking about C# 7.2 ref extension met
  • Convert OpenSSL encryption into native C#
  • Accessing Properties in Razor Pages
  • How to get SOAP element value
  • Projection after Group
  • C# error cannot convert sytem.text.regularexpressions.match to string
  • Issues with Save/Load System in a Text Based Adventure game made with ScriptableObjects in Unity
  • VS2019 MSBuild.exe - ASP .Net MVC project fails to publish when using PublishProfile, but works when using OutDir parame
  • Does <pages validateRequest="false" /> in Web.config still matter?
  • How to send new request to redirect URL with new access token
  • Attempt to invoke virtual method on a null object reference Xamarin LockScreen
  • "The attribute names could not be inferred from bind attribute 'bind-value'" exception in Blazor
  • How to fix ''System.ArgumentException" in c#?
  • C#. Ref returning delegate for ref extension method
  • Swashbuckle Swagger generate an actual guid
  • Trying to make thousands of database calls simultaneously - they stack instead of running concurently
  • run mstest from cmd using testcontainer
  • How to make M:N (many-to-many) relationship where both M and N are the same entities?
  • Consume COM DLL from multiple clients
  • Convert json string response representing UCHAR array to Byte array
  • Why does this LinqPad program produce different results on the second run?
  • ServiceStack how to use MaxLoginAttempts feature
  • What does "late-bound access to the destination object" mean?
  • How to load appsettings.json inside a Static class based on deploy environment so that I can use in other class librarie
  • dynamically add images to view
  • Are static extension methods on User object safe?
  • Process thousands of database calls simultaneously
  • Trying to decrypt a string with public key(not private) using bouncycastle in .net
  • How to retrieve the name of an usb device
  • Query many-to-many related data using Entity Framework Core
  • ASP.NET MVC : how to find the view from a controller?
  • Inconsistent behaviour using Entity Framework for ASP.NET MVC app vs windows service
  • shadow
    Privacy Policy - Terms - Contact Us © scrbit.com