类中的c#命名空间

本文关键字:命名空间 | 更新日期: 2023-09-27 18:02:38

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

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#命名空间

我看到一个类有以下方法:

anotherClass.something.methodName(参数);

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

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

你认为你所看到的实际上是不正确的。它可以是下列任意值:

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

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

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