1

これが私の最終的な目標です。プログラムに登録されている整数に基づいてツール名を出力する方法が必要です。たとえば、整数 1001、1002、および 1003 がプログラムによって検出された場合、プログラムはツール 1、ツール 2、およびツール 3 が検出されたことをユーザーに通知します。

すべての「ツール」に番号が付けられ、正しい整数に対応する単純な列挙型クラスを使用して、これを機能させることができました。列挙型を名前として出力することもできますが、できればプログラム全体をあまり変更せずに簡単に編集できる文字列を出力したいと考えています。ツール 1、ツール 3、ツール 7 としてすべてをプログラムし、使用しているツールが実際にわかっているときに、戻って弦を変更することができれば素晴らしいと思います。

私はすでにこの列挙型で DescriptionAttribute を使用しようとしましたが、すでにいくつかの質問の助けを借りても、整数で列挙型を検索し、その列挙型の説明を出力する方法を理解できませんでした。単純に、どちらか、または両方を行うことはできますが、両方はできません。

そのため、Enumクラスを使用する以外に、これらすべてを処理できるより良い方法があるかどうか疑問に思いました.EnumクラスはC#ではあまり役に立たないと聞いています. enumクラス、またはこれを達成するために使用できるc#内の他のメソッドでこれを行う方法についての提案を知りたいだけです。

既に持っている作業コードを共有する必要がある場合はお知らせください。ありがとう!

4

3 に答える 3

7

いくつかのプロパティを持つツール クラスを用意することをお勧めします。

public class Tool
{
    public string Name { get; set; }
    public string Description { get; set; }
}

次に、これらを処理するコードでDictionary<int, Tool>. 次に、ツール 1001 の説明が必要な場合は、次のようにします。

  Console.WriteLine(myTools[1001].Description);

もちろん、単に a を使用することもできますが、Dictionary<int, string>後で、ツールに関連付けられたより多くのデータが必要になるため、クラスを作成する方が理にかなっています。

于 2013-06-19T21:22:10.450 に答える