0

さまざまなクラスで文字列を共有する新しい方法を試していますが、これを機能させることができないようです...以前はパブリック静的文字列を作成しましたが、これは推奨されていないなどを読んだので、新しい方法を試しています残念ながら、このメソッドを呼び出す方法がわかりません...

これは私が作ったコードです:

public class AddServer
{
    public AddServer(string name, string seed, List<string> ops)
    {
        Ops = ops;
        Seed = seed;
        Name = name;
    }

    public string Name { get; private set; }
    public string Seed { get; private set; }
    public List<string> Ops { get; private set; } 
}

正直なところ、これが正しい方法であるかどうかはわかりません。そうでない場合、誰かが私を正しい方法に押し込むことができますか? ありがとう!

4

5 に答える 5

1
public class AddServer
{
    public AddServer(string name, string seed, List<string> ops)//constructor
    {
        Ops = ops;
        Seed = seed;
        Name = name;
    }

    public string Name { get; private set; }
    public string Seed { get; private set; }
    public List<string> Ops { get; private set; } 
}

この場合、別のクラスからメソッドを呼び出していません。のインスタンスを作成していますAddServer。プロパティにはプライベート セットがあります。これにより、プロパティは外部型に対して読み取り専用になります。つまり、プロパティはコンストラクターでのみ設定できます。

クラスのインスタンスを作成し、パラメータ値を渡してプロパティを設定します。

List<string> operations = new List<string>() {"1", "2" };
AddServer addServer = new AddServer("nameValue", "seedValue", operations);

プロパティに値が設定されたので、次の方法でアクセスできます。

string nameResult = addServer.Name;
string seedresult = addServer.Seed;
List<string> opsResult = addServer.Ops
于 2013-01-29T14:58:28.303 に答える
0
List<string> ops = new List<string>();
AddServer asvr = new AddServer("newName", "newSeed", ops);

Console.WriteLine(asvr.Name);
Console.WriteLine(asvr.Seed);
Console.WriteLine(asvr.Ops.Count);
于 2013-01-29T14:48:36.040 に答える
0

別のクラスからは、次のようになります。

//Create list of strings to pass to AddServer class's constructor method
List<string> ops = new List<string> {"ops1", "ops2", "ops3");

//Call the AddServer constructor to create a new instance of the class AddServer
AddServer myAddserver = new AddServer("server01", "some seed", lstOps);
于 2013-01-29T14:48:50.853 に答える
0

何か不足していない限り:

var server = new AddServer();
server.AddServer("name", "seed", new List<string>());

明らかに、パラメーターに適切な値を代入します。

于 2013-01-29T14:49:20.820 に答える
0

それ自体はメソッドではなく、コンストラクターです

それを呼び出す方法は次のとおりです。

var addserver = new AddServer("Name","Seed",new List<string>{"asdasd","asdasd2","etc"});

于 2013-01-29T14:49:49.290 に答える