Wie registriere ich einen generischen Typ mit Microsoft.extensions.hosting durch Reflexion?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie registriere ich einen generischen Typ mit Microsoft.extensions.hosting durch Reflexion?

Post by Anonymous »

Ich habe generische Klassen: < /p>
public interface ICommon
{
public string Test();
}

public class Common : ICommon
{
public string Test()
{
return "Common";
}
}
< /code>
Ich möchte es an IOHost registrieren.services.TryAddScoped(typeof(ICommon), typeof(Common));
< /code>
Servicedescriptor wie dieses < /p>
Wenn ich es so schreibe (zwei Wege), erhält es eine Ausnahme: < /p>
var types = assembly.GetTypes().Where(t => !t.IsInterface && !t.IsAbstract);
foreach (var type in types)
{
var name = type.Name;
var interfaceType = type.GetInterfaces().ToList().Find(p => p.Name.Equals($"I{name}"));
if (interfaceType is null)
{
continue;
}
services.TryAddSingleton(interfaceType, type);
}
< /code>
Servicedescriptor wie dieses < /p>
Gibt es eine Möglichkeit, generische Klassen durch Reflexion zu registrieren? Microsoft.extensions.hosting.9.0.2 microsoft.extensions.hosting.8.0.1.

Es ist dasselbe. < /P>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post