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

長い名前空間名のポイントは、他社のアセンブリ (Third Part アセンブリ) を使用する場合でも一意である必要があるということです。

関数のようにクラスを呼び出したい場合は、静的関数 (ProcessFile など) を作成する必要があります。その後、File.ProcessFile(filename); を呼び出すことができます。

于 2012-11-21T19:28:38.380 に答える