.Net 参数属性使命名/可选参数仅在内部/私有(private)可见?

标签 .net syntactic-sugar named-parameters

出于好奇,有没有办法编写一个方法,例如像这样:

public static MyType Parse(string stringRepresentation, [Internal] bool throwException = true)
{
// parsing logic here that conditionally throws an exception or returns null ...
}

public static MyType TryParse(string stringRepresentation)
{
return this.Parse(stringRepresentation, true);
}

我想减少内部代码冗余,但仍遵守例如(Try)Parse() 的 BCL 方法签名,但如果 c# 编译器可以在这种情况下生成第二个内部方法,那就太好了。

这已经有可能了吗?目前还没有找到任何东西。

最佳答案

我不知道你可以,但这不会给你同样的结果吗?

public MyType Parse(string stringRepresentation)
{
    return this.Parse(stringRepresentation, true);
}

internal MyType Parse(string stringRepresentation, bool throwException = true)
{
    // parsing logic here that conditionally throws an exception or returns null ...
}

关于.Net 参数属性使命名/可选参数仅在内部/私有(private)可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4584576/

相关文章:

python - 从函数返回多个值的优雅方法

c# - 方法重载还是更优雅的东西?

python - 强制特定函数签名

c# - Crossfading - 获取音频 C# .NET Compact Framework 的最佳方式?

C# 公共(public)静态字典

c# - 查找所有父类型(包括基类和接口(interface))

.net - 使用 FParsec 进行基本错误恢复

c++ - 我们如何在不使代码变大的情况下处理共享/弱 ptr?

C# - 输出参数的语法糖?

C++ "Named Parameter Idiom"与 Boost::Parameter 库