相关疑难解决方法(0)

我可以将扩展方法添加到现有的静态类中吗?

我是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'方法......我做错了吗?或者要求不可能?

c# extension-methods static

519
推荐指数
11
解决办法
18万
查看次数

静态扩展方法

可能重复:
我可以向现有静态类添加扩展方法吗?

有什么办法可以为类添加静态扩展方法.

特别是我想重载Boolean.Parse以允许int参数.

c# extension-methods

157
推荐指数
2
解决办法
10万
查看次数

如何在.Net控制台应用程序中设置默认输入值?

如何在.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)

当然,我不希望它如此简单.我打算不得不做一些低级的,无管理的东西; 我只是不知道如何.

编辑

我知道我可以用默认值替换没有输入.这不是我要问的问题.我试图了解实现我所描述的行为所涉及的内容:为用户提供可编辑的默认值.我也不担心输入验证; 我的问题与此无关.

.net c# console input console-application

12
推荐指数
4
解决办法
1万
查看次数