c#从继承的类对象构造类
我正在尝试实现一个自定义配置类,该类将继承c#从继承的类对象构造类,c#,inheritance,refactoring,new-operator,C#,Inheritance,Refactoring,New Operator,我正在尝试实现一个自定义配置类,该类将继承System.configuration.ConfigurationSection作为其基类 public class MyConfigurationClass: System.Configuration.ConfigurationSection { MyConfigurationClass() { } } 我一直在创建类对象,如下所示: MyConfigurationClass Config = System.Configuration
System.configuration.ConfigurationSection
作为其基类
public class MyConfigurationClass: System.Configuration.ConfigurationSection
{
MyConfigurationClass()
{
}
}
我一直在创建类对象,如下所示:
MyConfigurationClass Config = System.Configuration.ConfigurationManager.GetSection("Config") as MyConfigurationClass;
我想将其移动到类的构造函数中,这样就不用调用:
MyConfigurationClass Config = System.Configuration.ConfigurationManager.GetSection("Config") as MyConfigurationClass;
我可以打电话:
MyConfigurationClass Config = new MyConfigurationClass("Config");
同样的结果
继承系统.Configuration.ConfigurationSection的元素至关重要
有什么建议吗
编辑:
我正在尝试使用unity映射初始化这个类的默认实例,然后使用接口来调用这个类。我的接口是固定的,不能修改,因此我只能使用构造函数来创建类
从unity.config
文件注册到unity framework:
<register type="MyNameSpace.IConfig, MyProject" mapTo="MyRealNameSpace.MyConfigurationClass, MyRealProject">
<lifetime type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity" />
</register>
就我个人而言,我喜欢添加一个静态getter,用于获取我的分区内的配置:
public class MyConfigurationClass : ConfigurationSection
{
public static MyConfigurationClass Instance { get; } =
ConfigurationManager.GetSection("Config") as MyConfigurationClass;
// other configuration properties
}
然后我简单地调用MyConfigurationClass.Instance.Property
,我不明白你的问题。你能详细说明你的期望吗?您的代码应该是什么样子?你到底想隐藏什么?我希望我的MyConfigurationClass Config=System.Configuration.ConfigurationManager.GetSection(“Config”)初始化为MyConfigurationClass
在MyConfigurationClass
的构造函数内完成,这意味着当我调用MyConfigurationClass Config=new MyConfigurationClass(“Config”)
它将以与使用我当前语句相同的方式创建MyConfigurationClass-Config
:MyConfigurationClass-Config=System.ConfigurationManager.GetSection(“Config”)作为MyConfigurationClass代码>我正在尝试使用unity映射初始化该类的默认实例,然后在代码中为后续调用使用接口。我的接口是固定的,无法修改,因此我只能使用构造函数创建类…如果您使用某种DI(例如unity),您可以注册一个工厂,该工厂将使用以下方法解析配置类型:container.RegisterFactory(f=>MyConfigurationClass.Instance)代码>我正在尝试从unity.config注册它