我目前正在尝试管理我在项目中使用的不同REST服务,方法是将一个静态类作为容器类,然后再添加几个嵌套类,例如:

public static class HostName {
    private const string HostAddress = "https://rest.connection.string/api"
    public class CourseQueryInformation{
        public CourseQueryInformation(string par, string par2)
        {
            ...
        }
    }

    public class PersonQueryInformation{
        public CourseQueryInformation(string par, string par2)
        {
            ...
        }
    }
}


现在我的主要问题是,要实例化一个新对象,我必须执行以下操作:

var typeofobj = new HostName.CourseQueryInformation("par","parer");


这感觉有点混乱。

所以,我的主要问题是,有没有办法以一种更清洁的方式做到这一点?我真的很想让类在容器中排序,但是我不确定这是否是最好的方法。

最佳答案

使用继承,命名空间应按以下说明进行工作:inheritance and nameSpaces

应该是这样

 namespace Hosting
{
    class Host //could be abstract also
    {
        private string _hostAddress = "foo";
        get { return _hostAddress; }


    }

    public class CourseQueryInformation : Host
    {
        public CourseQueryInformation(string par, string par2)
            {
                ...
            }
    }


    public class PersonQueryInformation : Host
    {
        public PersonQueryInformation(string par, string par2)
        {
            ...
        }
    }

}


如果使用继承,则还可以添加与子类相同的所有内容,然后获得一个可维护的代码,该代码应遵循OO范例,并通过继承和多态性进行播放。

关于c# - 在静态类中实例化嵌套类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33894647/

10-13 06:47