标签: optional-parameters

将空数组作为可选参数的默认值传递

如何定义一个将带有空数组的可选数组作为默认值的函数?

public void DoSomething(int index, ushort[] array = new ushort[] {},
 bool thirdParam = true)
Run Code Online (Sandbox Code Playgroud)

结果是:

'array'的默认参数值必须是编译时常量.

c# default-value optional-parameters

81
推荐指数
3
解决办法
6万
查看次数

在可选参数中设置DateTime的默认值

如何在可选参数中设置DateTime的默认值?

public SomeClassInit(Guid docId, DateTime addedOn = DateTime.Now???)
{
    //Init codes here
}
Run Code Online (Sandbox Code Playgroud)

c# datetime default optional-parameters

80
推荐指数
5
解决办法
7万
查看次数

为什么空字典在Python中是一个危险的默认值?

我把空括号作为Python函数的可选参数的默认值,而pylint(使用Sublime包)告诉我这很危险.有人可以解释为什么会这样吗?而使用None是更好的选择吗?

python pylint optional-parameters optional-arguments

76
推荐指数
2
解决办法
3万
查看次数

重写方法的C#可选参数

似乎在.NET Framework中,覆盖方法时可选参数存在问题.下面代码的输出是:"bbb""aaa".但我期待的输出是:"bbb""bbb".有解决方案.我知道它可以用方法重载解决,但想知道原因.此外,代码在Mono中运行良好.

class Program
{
    class AAA
    {
        public virtual void MyMethod(string s = "aaa")
        {
            Console.WriteLine(s);
        }

        public virtual void MyMethod2()
        {
            MyMethod();
        }
    }

    class BBB : AAA
    {
        public override void MyMethod(string s = "bbb")
        {
            base.MyMethod(s);
        }

        public override void MyMethod2()
        {
            MyMethod();
        }
    }

    static void Main(string[] args)
    {
        BBB asd = new BBB();
        asd.MyMethod();
        asd.MyMethod2();
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# overriding optional-parameters

71
推荐指数
6
解决办法
2万
查看次数

Python:如何检查是否设置了可选的函数参数

Python中是否有一种简单的方法可以检查可选参数的值是否来自其默认值,还是因为用户已在函数调用中明确设置它?

python function optional-parameters

68
推荐指数
6
解决办法
5万
查看次数

接口的可选参数

使用c#4.0 - 构建一个接口和一个实现接口的类.我想在界面中声明一个可选参数,并让它反映在类中.所以,我有以下内容:

 public interface IFoo
 {
      void Bar(int i, int j=0);
 }

 public class Foo
 {
      void Bar(int i, int j=0) { // do stuff }
 }
Run Code Online (Sandbox Code Playgroud)

编译,但看起来不正确.接口需要具有可选参数,否则它在接口方法签名中无法正确反映.

我应该跳过可选参数并使用可空类型吗?或者这是否按预期工作,没有副作用或后果?

c# interface optional-parameters c#-4.0

66
推荐指数
3
解决办法
5万
查看次数

具有默认值的选项的javascript设计模式?

// opt_options is optional
function foo(a, b, opt_options) {
  // opt_c, opt_d, and opt_e are read from 'opt_options', only c and d have defaults
  var opt_c = 'default_for_c';
  var opt_d = 'default_for_d';
  var opt_e; // e has no default

  if (opt_options) {
    opt_c = opt_options.c || opt_c;
    opt_d = opt_options.d || opt_d;
    opt_e = opt_options.e;
  }
}
Run Code Online (Sandbox Code Playgroud)

以上看起来非常冗长.使用默认参数处理参数选项的更好方法是什么?

javascript design-patterns optional-parameters option

66
推荐指数
5
解决办法
3万
查看次数

C#4.0,可选参数和参数不能一起使用

如何创建一个具有可选参数和参数的方法?

static void Main(string[] args)
{

    TestOptional("A",C: "D", "E");//this will not build
    TestOptional("A",C: "D"); //this does work , but i can only set 1 param
    Console.ReadLine();
}

public static void TestOptional(string A, int B = 0, params string[] C)
{
    Console.WriteLine(A);
    Console.WriteLine(B);
    Console.WriteLine(C.Count());
}   
Run Code Online (Sandbox Code Playgroud)

.net c# optional-parameters params c#-4.0

60
推荐指数
3
解决办法
2万
查看次数

C#4.0:我可以使用Color作为可选参数并使用默认值吗?

    public void log(String msg, Color c = Color.black)
    {
        loggerText.ForeColor = c;
        loggerText.AppendText("\n" + msg);

    }
Run Code Online (Sandbox Code Playgroud)

这会导致c必须是编译时常量的错误.我已经阅读了这一点,大多数例子都是处理字符串和整数.我已经发现我可以使用colorconverter类,但我不确定它会非常有效.有没有办法将基本颜色作为可选参数传递?

    public void log(String msg, String c = "Black")
    {
        ColorConverter conv = new ColorConverter();
        Color color = (Color)conv.ConvertFromString(c);

        loggerText.ForeColor = color;
        loggerText.AppendText("\n" + msg);
    }
Run Code Online (Sandbox Code Playgroud)

c# optional-parameters

54
推荐指数
2
解决办法
3万
查看次数

AngularJS中的可选依赖项

我正在尝试在AngularJS中实现一个跨多个页面使用的控制器.它利用了一些服务.其中一些是在所有页面上加载的,有些是 - 不是.我的意思是它在不同的文件中定义,并且这些文件是独立加载的.但如果我不在所有页面上加载这些服务,我会收到错误:

Error: Unknown provider: firstOtionalServiceProvider <- firstOtionalService
Run Code Online (Sandbox Code Playgroud)

所以,我需要在所有页面上加载脚本.我可以在Angular中将依赖声明为可选的吗?例如:

myApp.controller('MyController', ['$scope', 'firstRequiredService', 'secondRequiredService', 'optional:firstOptionalService', 'optional:secondOptionalService', function($scope, firstRequiredService, secondRequiredService, firstOptionalService, secondOptionalSerivce){

    // No need to check, as firstRequiredService must not be null
    firstRequiredService.alwaysDefined();

    // If the dependency is not resolved i want Angular to set null as argument and check
    if (firstOptionalService) {
        firstOptionalService.mayBeUndefinedSoCheckNull();
    }

}]);
Run Code Online (Sandbox Code Playgroud)

javascript dependency-injection optional-parameters angularjs

51
推荐指数
5
解决办法
2万
查看次数