【问题标题】:C# namespace in a class类中的 C# 命名空间
【发布时间】:2013-02-22 12:41:45
【问题描述】:

我对类和方法有基本的了解。我可以创建类,并为它们定义方法:

myClass.awesome("test"); (example)

但是我看到一个类有如下方法:

anotherClass.something.methodName(arguments);

如何创建具有附加命名空间的方法。我试过了:

public Class test
{
    namespace subname
    {
        public void Test()
        {
            return;
        }
    }

    //also i tried:
    public void lol.Test()
    {
        return;
    }
}

但他们都说不应该那样做,如何正确地做,以便我可以更好地排序/分组我的方法?

请不要问为什么,或者给个替代方案,我只是想做一个有这种方法的类(Class.sub.Method()Class.sub.sub....sub.Method()

感谢您阅读我的问题,并可能给出答案:)

【问题讨论】:

标签: c# class inheritance methods nested


【解决方案1】:

如果你想对你的方法进行分组,你应该考虑使用这样的静态类:

public class Test
{
    public static class InnerGroup
    {
        public static void Method1() { }
    }
    public static class AnotherInnerGroup
    {
        public static void Method2() { }
    }
}

或像这样的类属性:

public class Test
{
    public class InnerGroup
    {
        public static void Method1() { }
    }

    public class AnotherInnerGroup
    {
        public static void Method2() { }
    }

    public InnerGroup InnerGroup { get; set; }

    public AnotherInnerGroup AnotherInnerGroup { get; set; }

    public Test()
    {
        InnerGroup = new InnerGroup();
        AnotherInnerGroup= new AnotherInnerGroup();
    }
}

希望你能理解。

【讨论】:

    【解决方案2】:

    你认为你看到的实际上是不正确的。可以是以下任意一种:

    • anotherClass 是命名空间,something 是类,methodName 是静态方法
    • anotherClass 是对象,somethinganotherClass 的属性,methodName 是方法

    【讨论】:

      【解决方案3】:

      我看到一个类有以下方法: anotherClass.something.methodName(arguments);

      该方法不是来自类anotherClass,而是来自对象类something

      anotherClass 有一个字段/属性something 是另一个类类型,该类有方法methodName

      【讨论】:

        猜你喜欢
        • 2016-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-03
        • 1970-01-01
        • 1970-01-01
        • 2015-04-11
        相关资源
        最近更新 更多