在 Powershell 中,当我定义一个函数时,我可以使用 轻松指定参数的可能值列表[ValidateSet],例如
function Log {
param (
[ValidateSet("File", "Database")]
[string]$Type = "File"
)
# my code
}
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我定义了一个默认值file和一组可能的值file和database. C# 中是否有类似的方法,还是应该“手动”在构造函数中执行检查?
public Log(string type = "file") {
public Log() {
if ... # here goes my check on the string
}
}
Run Code Online (Sandbox Code Playgroud)
如果您只有有限范围的值,那么您可以使用枚举来代替。首先设置您的枚举:
public enum MyValues
{
File,
Database
}
Run Code Online (Sandbox Code Playgroud)
然后像使用任何其他参数类型一样使用它:
public void Log(MyValues type = MyValues.File)
{
switch (type)
{
case MyValues.File:
//Do file stuff here
break;
case MyValues.Database:
//Do database stuff here
break;
default:
throw new ArgumentException("You passed in a dodgy value!");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
616 次 |
| 最近记录: |