我是C#中扩展方法的粉丝,但是没有成功将扩展方法添加到静态类,例如Console.
例如,如果我想向Console添加一个名为'WriteBlueLine'的扩展,那么我可以去:
Console.WriteBlueLine("This text is blue");
Run Code Online (Sandbox Code Playgroud)
我尝试通过添加一个本地的公共静态方法,将Console作为'this'参数...但没有骰子!
public static class Helpers {
public static void WriteBlueLine(this Console c, string text)
{
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine(text);
Console.ResetColor();
}
}
Run Code Online (Sandbox Code Playgroud)
这没有向Console添加'WriteBlueLine'方法......我做错了吗?或者要求不可能?
如何在.net控制台应用程序中设置默认输入值?
这是一些伪装代码:
Console.Write("Enter weekly cost: ");
string input = Console.ReadLine("135"); // 135 is the default. The user can change or press enter to accept
decimal weeklyCost = decimal.Parse(input);
Run Code Online (Sandbox Code Playgroud)
当然,我不希望它如此简单.我打算不得不做一些低级的,无管理的东西; 我只是不知道如何.
我知道我可以用默认值替换没有输入.这不是我要问的问题.我试图了解实现我所描述的行为所涉及的内容:为用户提供可编辑的默认值.我也不担心输入验证; 我的问题与此无关.