你能在C#中使用一个函数内的类吗?

时间:2012-11-21 19:21:38

标签: class function c#

我想知道我是否可以在函数中使用类。我会使用filename.FuntionName()调用另一个文件中的函数;我公开上课,以便更有可能合作。另外,会使用filename.FunctionName();从其他文件调用该函数,或者只是将其用作资源?好吧,这是代码:

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

3 个答案:

答案 0 :(得分:2)

您无法在Java等函数内声明类,但是您可以使用var创建在函数外部不可见的匿名类型

  void file()
    {
        var file=new {
            path="path",
            size=200};
        Console.WriteLine(file.path+"  "+file.size);
    }

答案 1 :(得分:2)

我怀疑你要找的是静态方法。

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

然后,您可以从其他地方拨打SomeNameSpace.SomeClass.CallMe(),而无需创建SomeClass的新实例。

答案 2 :(得分: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);