<PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.1" />

DelegatingConfigHost

Delegates all members of the IInternalConfigHost interface to another instance of a host.
using System.IO; using System.Security; namespace System.Configuration.Internal { public class DelegatingConfigHost : IInternalConfigHost, IInternalConfigHostPaths { protected IInternalConfigHost Host { get; set; } public virtual bool SupportsChangeNotifications => Host.SupportsChangeNotifications; public virtual bool SupportsRefresh => Host.SupportsRefresh; public virtual bool SupportsPath => Host.SupportsPath; public virtual bool SupportsLocation => Host.SupportsLocation; public virtual bool IsRemote => Host.IsRemote; private IInternalConfigHostPaths HostPaths => (IInternalConfigHostPaths)Host; public virtual bool HasLocalConfig => HostPaths.HasLocalConfig; public virtual bool HasRoamingConfig => HostPaths.HasRoamingConfig; public virtual bool IsAppConfigHttp => HostPaths.IsAppConfigHttp; protected DelegatingConfigHost() { } public virtual void Init(IInternalConfigRoot configRoot, params object[] hostInitParams) { Host.Init(configRoot, hostInitParams); } public virtual void InitForConfiguration(ref string locationSubPath, out string configPath, out string locationConfigPath, IInternalConfigRoot configRoot, params object[] hostInitConfigurationParams) { Host.InitForConfiguration(ref locationSubPath, out configPath, out locationConfigPath, configRoot, hostInitConfigurationParams); } public virtual bool IsConfigRecordRequired(string configPath) { return Host.IsConfigRecordRequired(configPath); } public virtual bool IsInitDelayed(IInternalConfigRecord configRecord) { return Host.IsInitDelayed(configRecord); } public virtual void RequireCompleteInit(IInternalConfigRecord configRecord) { Host.RequireCompleteInit(configRecord); } public virtual bool IsSecondaryRoot(string configPath) { return Host.IsSecondaryRoot(configPath); } public virtual string GetStreamName(string configPath) { return Host.GetStreamName(configPath); } public virtual string GetStreamNameForConfigSource(string streamName, string configSource) { return Host.GetStreamNameForConfigSource(streamName, configSource); } public virtual object GetStreamVersion(string streamName) { return Host.GetStreamVersion(streamName); } public virtual Stream OpenStreamForRead(string streamName) { return Host.OpenStreamForRead(streamName); } public virtual Stream OpenStreamForRead(string streamName, bool assertPermissions) { return Host.OpenStreamForRead(streamName, assertPermissions); } public virtual Stream OpenStreamForWrite(string streamName, string templateStreamName, ref object writeContext) { return Host.OpenStreamForWrite(streamName, templateStreamName, ref writeContext); } public virtual Stream OpenStreamForWrite(string streamName, string templateStreamName, ref object writeContext, bool assertPermissions) { return Host.OpenStreamForWrite(streamName, templateStreamName, ref writeContext, assertPermissions); } public virtual void WriteCompleted(string streamName, bool success, object writeContext) { Host.WriteCompleted(streamName, success, writeContext); } public virtual void WriteCompleted(string streamName, bool success, object writeContext, bool assertPermissions) { Host.WriteCompleted(streamName, success, writeContext, assertPermissions); } public virtual void DeleteStream(string streamName) { Host.DeleteStream(streamName); } public virtual bool IsFile(string streamName) { return Host.IsFile(streamName); } public virtual object StartMonitoringStreamForChanges(string streamName, StreamChangeCallback callback) { return Host.StartMonitoringStreamForChanges(streamName, callback); } public virtual void StopMonitoringStreamForChanges(string streamName, StreamChangeCallback callback) { Host.StopMonitoringStreamForChanges(streamName, callback); } public virtual bool IsAboveApplication(string configPath) { return Host.IsAboveApplication(configPath); } public virtual bool IsDefinitionAllowed(string configPath, ConfigurationAllowDefinition allowDefinition, ConfigurationAllowExeDefinition allowExeDefinition) { return Host.IsDefinitionAllowed(configPath, allowDefinition, allowExeDefinition); } public virtual void VerifyDefinitionAllowed(string configPath, ConfigurationAllowDefinition allowDefinition, ConfigurationAllowExeDefinition allowExeDefinition, IConfigErrorInfo errorInfo) { Host.VerifyDefinitionAllowed(configPath, allowDefinition, allowExeDefinition, errorInfo); } public virtual string GetConfigPathFromLocationSubPath(string configPath, string locationSubPath) { return Host.GetConfigPathFromLocationSubPath(configPath, locationSubPath); } public virtual bool IsLocationApplicable(string configPath) { return Host.IsLocationApplicable(configPath); } public virtual bool PrefetchAll(string configPath, string streamName) { return Host.PrefetchAll(configPath, streamName); } public virtual bool PrefetchSection(string sectionGroupName, string sectionName) { return Host.PrefetchSection(sectionGroupName, sectionName); } public virtual object CreateDeprecatedConfigContext(string configPath) { return Host.CreateDeprecatedConfigContext(configPath); } public virtual object CreateConfigurationContext(string configPath, string locationSubPath) { return Host.CreateConfigurationContext(configPath, locationSubPath); } public virtual string DecryptSection(string encryptedXml, ProtectedConfigurationProvider protectionProvider, ProtectedConfigurationSection protectedConfigSection) { return Host.DecryptSection(encryptedXml, protectionProvider, protectedConfigSection); } public virtual string EncryptSection(string clearTextXml, ProtectedConfigurationProvider protectionProvider, ProtectedConfigurationSection protectedConfigSection) { return Host.EncryptSection(clearTextXml, protectionProvider, protectedConfigSection); } public virtual Type GetConfigType(string typeName, bool throwOnError) { return Host.GetConfigType(typeName, throwOnError); } public virtual string GetConfigTypeName(Type t) { return Host.GetConfigTypeName(t); } public virtual void RefreshConfigPaths() { HostPaths.RefreshConfigPaths(); } public virtual bool IsTrustedConfigPath(string configPath) { return true; } public virtual bool IsFullTrustSectionWithoutAptcaAllowed(IInternalConfigRecord configRecord) { return true; } public virtual IDisposable Impersonate() { return new DummyDisposable(); } [System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId = "SYSLIB0003", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] public virtual void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady) { permissionSet = new PermissionSet(null); isHostReady = true; } } }