namespace ExtendedModules.MyExtendedModule
{
public class MyWrapper : ISystemInfoSource, IDisposable
{
public MyWrapper(ILicenceProvider licenceProvider, ISQLConnection connection, IDataSharingOptions dataSharingOptions)
{
}
public bool ManualLoadingConditions
{
get { return _seakeepingSettings != null && Convert.ToBoolean(_seakeepingSettings["ManualLoadingConditions"]); }
}
public bool LicenseValid
{
get { return _licenseValid; }
}
}
}
< /code>
SECEND -Klasse < /p>
public class MyUi
{
private MyWrapper _wrapper;
private IWaitWindowNavigator _waitNavigator;
public delegate bool CalculateAction(out string message);
public MyUi(MyWrapper wrapper, IWaitWindowNavigator waitNavigator)
{
_wrapper = amarcon;
_waitNavigator = waitNavigator;
}
}
< /code>
Ich habe einen alten Code gefunden, in dem wir ein bedingtes Registrierungsmodul
haben, und in diesem Modul haben wir einige Clasess registriert.[MethodImpl(MethodImplOptions.NoInlining)]
public void Register(ContainerBuilder builder)
{
var optionsConnection = new ResolvedParameter(
(p, c) => p.ParameterType == typeof(ISQLConnection),
(p, c) => c.ResolveNamed("options"));
builder.RegisterType().WithParameter(optionsConnection).SingleInstance().As().AsSelf();
builder.RegisterType().SingleInstance();
builder.RegisterType().WithParameter(new TypedParameter(typeof(ContainerBuilder), builder)).SingleInstance().As();
}
< /code>
Und in dieser Klasse registrieren wir bedingte andere Klassen für das Ende dieses Prozesses, den wir mit Update (..) < /p>
verwendet habenpublic class LicenseRegistrations : IStartable
{
public LicenseRegistrations(IComponentContext context, MyWrapper wrapper, ContainerBuilder builder)
{
if (!wrapper.LicenseValid)
return;
var optionsConnection = AutofacUtils.ResolvedParameter((c) => c.ResolveNamed("options"));
if (wrapper.ManualLoadingConditions)
{
builder.RegisterType().As();
builder.RegisterType().SingleInstance();
builder.RegisterType();
builder.RegisterType();
builder.RegisterType().SingleInstance().As();
builder.Update(context.ComponentRegistry);
}
}
public void Start()
{
}
}
< /code>
Dieser alte Code beginnt mit der Arbeit, wenn ich die Registrierung von lizenziereregistrierungen an MyModule
verschiebe, aber ich brauche Kommentarbedingungen < /p>
Bildbeschreibung Eingabetaste hier < /p>
[MethodImpl(MethodImplOptions.NoInlining)]
public void Register(ContainerBuilder builder)
{
var optionsConnection = new ResolvedParameter(
(p, c) => p.ParameterType == typeof(ISQLConnection),
(p, c) => c.ResolveNamed("options"));
builder.RegisterType().WithParameter(optionsConnection).SingleInstance().As().AsSelf();
builder.RegisterType().SingleInstance();
//builder.RegisterType().WithParameter(new TypedParameter(typeof(ContainerBuilder), builder)).SingleInstance().As();
// if (!wrapper.LicenseValid)
// return;
//if (wrapper.ManualLoadingConditions)
//{
builder.RegisterType().As();
builder.RegisterType().SingleInstance();
builder.RegisterType();
builder.RegisterType();
builder.RegisterType().SingleInstance().As();
//}
}
Wissen Sie, was ich tun muss, um die Bedingungen aufrechtzuerhalten?>
I Heve Two Clasess < /p> [code]namespace ExtendedModules.MyExtendedModule { public class MyWrapper : ISystemInfoSource, IDisposable { public MyWrapper(ILicenceProvider licenceProvider, ISQLConnection connection, IDataSharingOptions dataSharingOptions) {
}
public bool ManualLoadingConditions { get { return _seakeepingSettings != null && Convert.ToBoolean(_seakeepingSettings["ManualLoadingConditions"]); } }
public bool LicenseValid { get { return _licenseValid; } }
} } < /code> SECEND -Klasse < /p> public class MyUi { private MyWrapper _wrapper; private IWaitWindowNavigator _waitNavigator;
public delegate bool CalculateAction(out string message);
} < /code> Ich habe einen alten Code gefunden, in dem wir ein bedingtes Registrierungsmodul haben, und in diesem Modul haben wir einige Clasess registriert.[MethodImpl(MethodImplOptions.NoInlining)] public void Register(ContainerBuilder builder) { var optionsConnection = new ResolvedParameter( (p, c) => p.ParameterType == typeof(ISQLConnection), (p, c) => c.ResolveNamed("options"));
} < /code> Und in dieser Klasse registrieren wir bedingte andere Klassen für das Ende dieses Prozesses, den wir mit Update (..) < /p> verwendet habenpublic class LicenseRegistrations : IStartable { public LicenseRegistrations(IComponentContext context, MyWrapper wrapper, ContainerBuilder builder) { if (!wrapper.LicenseValid) return; var optionsConnection = AutofacUtils.ResolvedParameter((c) => c.ResolveNamed("options"));
if (wrapper.ManualLoadingConditions) { builder.RegisterType().As();
public void Start() { } } < /code> Dieser alte Code beginnt mit der Arbeit, wenn ich die Registrierung von lizenziereregistrierungen an MyModule verschiebe, aber ich brauche Kommentarbedingungen < /p> Bildbeschreibung Eingabetaste hier < /p> [MethodImpl(MethodImplOptions.NoInlining)] public void Register(ContainerBuilder builder) { var optionsConnection = new ResolvedParameter( (p, c) => p.ParameterType == typeof(ISQLConnection), (p, c) => c.ResolveNamed("options"));
Begründung : Wir migrieren von MEF zu Autofac. Durch die Erforschung des MEF -Containers können wir automatisch einen autofac -Registrierungscode generieren. MEF und AutoFAC können jedoch...
Wir haben eine große Lösung mit 24 Projekten, die AutoFAC (v3.5.2) und weitgehend Konstruktor DI zum Bau aller unserer Dienste verwenden. Ich habe eine Grenze erreicht. Ich habe kürzlich ein paar...
Ich mache eine Migration und habe eine Ausnahme gestoßen. AutoFac kann meinen Dienst von einer Instanz eines Dienstanbieters beheben, kann ihn jedoch zum Zeitpunkt der Anfrage nicht in meinem...
Ich rufe einen Hash -Wert von einer API ab und speichere diesen Wert in einem CSV. Ist es möglich, diesen Wert in seine passende menschlich-lesbare Form zu übersetzen, bevor es in das CSV schreibt,...