0

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

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()

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

4

3 回答 3

6

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

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

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

于 2013-03-07T10:48:37.630 回答
0

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

  • anotherClass是命名空间,something是类,methodName是静态方法
  • anotherClass是对象,something是 的属性anotherClassmethodName是方法
于 2013-03-07T10:52:40.007 回答
0

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

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();
    }
}

希望你明白。

于 2013-03-07T11:07:57.083 回答