2

我想知道我是否可以在函数内部使用一个类。我会使用 filename.FuntionName(); 在另一个文件中调用该函数;我将课程公开,以便它更有可能合作。此外,将使用 filename.FunctionName(); 从另一个文件调用该函数,还是仅将其用作资源?好吧,这里是代码:

namespace file
{
public void file()
{
    public class file
    {
        /*function
        code*/
        }
    }
}       
4

3 回答 3

2

你不能在函数内部声明类Java,但是你可以var用来创建一个在函数外部不可见的匿名类型

  void file()
    {
        var file=new {
            path="path",
            size=200};
        Console.WriteLine(file.path+"  "+file.size);
    }
于 2012-11-21T19:31:20.017 回答
2

我怀疑你正在寻找的是一种静态方法。

namespace SomeNamespace
{
    public class SomeClass
    {
        public static void CallMe()
        {
            Console.WriteLine("Hello World!");
        }
    }
}

然后,您可以SomeNameSpace.SomeClass.CallMe()从其他地方调用,而无需创建SomeClass.

于 2012-11-21T20:45:59.480 回答
0

声明函数的正确方法:

namespace Company.Utilities.File
{
    public class File
    {
        public File(string filename)
        {
           Filename = filename;
        }

        public string Filename { get; private set; }

        public void Process()
        {
            // Some code to process the file.
        }

        public static void ProcessFile(string filename)
        {
            File file = new File(filename);
            file.Process();
        }
    }
}

长命名空间名称的要点是,即使使用其他公司的程序集(第三方程序集),它也应该是唯一的

如果你想像调用函数一样调用类,你应该创建一个静态函数(如 ProcessFile),那么你可以调用 File.ProcessFile(filename);

于 2012-11-21T19:28:38.380 回答