1

我的代码中有很多私有数据成员,接近 20 行有没有办法将所有这些都放在一个容器中;我在 VS 2010 中做 C# 4.0。

private const string sig1 = "SignatureField";
private const string sig2 = "Message";
private const string sig3 = "Enter Label name & its Associated Types";
private const string sig4 = "Label 1";
private const string sig5 = "Label 2";
4

6 回答 6

0

你的意思是在#region 中?

#region Constants
   const string sig1 = "SignatureField";
   const string sig2 = "Message";
   const string sig3 = "Enter Label name & its Associated Types";
   const string sig4 = "Label 1";
   const string sig5 = "Label 2";
   // etc.
#endregion

这将允许您在 VS 中进行代码折叠。

于 2012-11-22T13:06:44.100 回答
0

如果您希望它们由用户更改,您可以将它们放在项目的 App.config 中并使用 ConfigurationManager 调用它们。

这是初学者的解释:http: //blogs.technet.com/b/vanih/archive/2008/01/25/configurationmanager-class-in-c.aspx

于 2012-11-22T13:10:12.060 回答
0

你到底想做什么?

如果您只是不想在大多数时间看到它们,则可以添加

#region 

在私有成员之前和 #endregion 之后。这将为您提供一个小的 + 符号,您可以在其中折叠代码。

如果您想让成员在自己的类或结构中,您可以编写一个新的,但是您需要属性以便原始类可以访问它(如果您标记行并右键单击它,可以使用重构设置)

如果它们都是 const 设置,也许您正在寻找类似单例的东西?

于 2012-11-22T13:09:21.263 回答
0

我不确定我是否正确理解了您,但也许您可以尝试执行以下操作:

public class Signatures
{
    private const string sig1 = "SignatureField";

    public static string Sig1
    {
        get
        {
            return sig1;
        }
    }    
}

接下来,您可以根据需要在其他类中使用它:

class Program
{
    static void Main(string[] args)
    {
        Console.Write(Signatures.Sig1);
        Console.ReadKey();
    }
}

当然,由于 consts privates,您必须记住仅对公共属性使用 getter。

我希望我能很好地理解你。

于 2012-11-22T13:22:52.757 回答
0

也许将它们放在一个数组中?

private static final string[] sigs = new[] { "SignatureField", "Message", "Enter Label name & its Associated Types", "Label 1", "Label 2" };

并像这样使用它们:

string value = sigs[0];
于 2012-11-22T13:07:00.870 回答
0

使用区域,这是来自微软的官方文章http://msdn.microsoft.com/en-us/library/9a1ybwek(v=vs.71).aspx

于 2012-11-22T13:08:04.827 回答