我试图编写一个能够让我更快地更改控制台颜色的功能。 它会是这样的:
public static void setColor(string color)
{
Console.ForegroundColor = ConsoleColor.color;
}
然后输入中间部分而不是键入中间部分,我只需输入setColor(蓝色)即可快速设置颜色。 这有可能吗?
答案 0 :(得分:2)
我不知道“更快”对你来说意味着什么。但如果您觉得有必要这样做,那么您可能错误地使用了工具。
甚至忽略了这样一个事实:你不能传递字符串“blue”并让它在那里工作(因为它是一个字符串,而不是一段代码),写setColor("blue")
比编写{Console.ForegroundColor = ConsoleColor.Blue
更快。 {1}},即使您的打字速度非常慢。
不要创建额外的抽象层,除了保存非常非常少的击键外,什么都不做,学会使用你更好的工具。学习使用IDE的自动完成和智能感知,以便您可以开始键入“控制台”,查看intellisense匹配时,然后只需按.
并开始输入“Foreground”并查看它需要多少个键抓住了(提示:很少)。
创建包装器方法的缺点是它掩盖了实际发生的事情(等待,是设置前景色还是背景色?)从现在起一个月,您可能不记得了。这意味着其他开发人员不会知道发生了什么 - 这可能是一个个人项目,但这是一个不好的习惯。这意味着这个方法现在需要在你编写的每个类中随处可用,这也很麻烦。
此方法几乎不添加任何内容。我会避免使用它,并寻找其他方法来“提高生产力” - 因为保存一些键击不是的方式。您作为开发人员的大部分时间都花在思考和查找上,而不是输入。
答案 1 :(得分:0)
您可以使用Enum.Parse
并只查找ConsoleColor Enumeration
指定定义前景色和背景色的常量 控制台。
<强>〔实施例强>
public static void setColor(string color)
{
try
{
Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), color, true);
}
catch (Exception)
{
//catch error for an invalid color
}
}