配置深层框架类的选项

时间:2018-04-09 17:19:25

标签: c# properties

允许API用户更改trival选项的最佳方法是什么?意味着该选项具有不需要更改的默认值,但是他们可能希望将来更改它。该类在API中是公开的,但是没有被直接告知要更改哪个类和哪个选项,他们就不知道了。

假设您有一些基本API对象生成的数据对象。此数据类可能如下所示:

public class SomeComplicatedMessageInterpretter
{
    public static bool ShouldReturnVerboseMessage { get; set; } = true

    public bool TryInterpreMessage(string message)
    {
        try
        {
            Console.WriteLine(message + (ShouldReturnVerboseMessage ? "More information": string.Empty));
            return true;
        }
        catch(IOException)
        {
            return false;
        }
    }
}

一般来说,您希望ShouldReturnVerboseMessage值为true,但它对于程序操作并不重要。因此,您将其设置为静态get / set,并且不要在参数中使用它并为其指定默认值。这意味着它可以改变,但不一定是。

嗯,从API用户的角度来看,他们看到的只是这样:

public static void Main(string[] args)
{
    APIComponent1 component = new APIComponent1();
    component.Run();
}

他们怎么知道他们可以通过这样做来改变他们觉得讨厌的事情:

SomeComplicatedMessageInterpretter.ShouldReturnVerboseMessage = false;

有更好的方法吗?或者是唯一能够回答这类特定问题的优秀文档和论坛?

0 个答案:

没有答案