使用C#4.0 – 构build一个接口和一个实现接口的类。 我想在接口中声明一个可选参数,并将其反映在类中。 所以,我有以下几点: public interface IFoo { void Bar(int i, int j=0); } public class Foo { void Bar(int i, int j=0) { // do stuff } } 这编译,但它看起来不正确。 接口需要具有可选参数,否则在接口方法签名中不能正确反映。 我应该跳过可选参数,只使用可空types? 或者这样做是否会按照预期进行,没有任何副作用或后果?
如何在可选参数中设置DateTime的默认值? public SomeClassInit(Guid docId, DateTime addedOn = DateTime.Now???) { //Init codes here }
好吧,我完全忘了如何跳过PHP中的参数。 可以说我有: function getData($name, $limit = '50', $page = '1') { … } 我如何调用这个函数,使中间参数取默认值(即'50')? getData('some name', '', '23'); 以上是否正确? 我似乎无法得到这个工作。
我试图在Swift中声明一个参数,它带有一个可选的闭包。 我已经声明的function如下所示: class Promise { func then(onFulfilled: ()->(), onReject: ()->()?){ if let callableRjector = onReject { // do stuff! } } } 但是Swift抱怨说:“在条件中的绑定值必须是一个可选types”,其中声明了“if let”。
我正在阅读Bill Wagner的Effective C# 。 在项目14 – 最小化重复初始化逻辑 ,他显示了在构造函数中使用新的可选参数function的以下示例: public MyClass(int initialCount = 0, string name = "") 注意他用""而不是string.Empty 。 他评论说: 你会注意到[在上面的例子中]第二个构造函数指定name参数的默认值,而不是更习惯的string.Empty 。 这是因为string.Empty不是一个编译时常量。 它是一个在string类中定义的静态属性。 因为它不是一个编译常量,所以不能用它作为参数的默认值。 如果我们不能在所有情况下都使用string.Empty静态,那么这不就是它的目的吗? 我认为我们会用它来确保我们有一个与系统无关的方式来引用空string。 我的理解错了吗? 谢谢。 UPDATE 只是跟进评论。 根据MSDN: 每个可选参数都有一个默认值作为其定义的一部分。 如果没有为该参数发送参数,则使用默认值。 默认值必须是常量。 那么我们无法使用System.Environment.NewLine ,或者使用新实例化的对象作为默认值。 我还没有使用VS2010,这是令人失望的!
我在SQL Server 2008中编写了一些存储过程,并想知道可选input参数的概念是否可以在这里? 我想我总是可以传递NULL参数我不想使用,检查存储过程中的值,然后从那里拿东西,但我有兴趣,如果这个概念在这里可用。 谢谢!
如何在LaTeX中使用可选参数创build命令? 就像是: \newcommand{\sec}[2][]{ \section*{#1 \ifsecondargument and #2 \fi} } } 那么,我可以这样称呼它 \sec{Hello} %Output: Hello \sec{Hello}{Hi} %Output: Hello and Hi
我发现C#中的命名参数function在某些情况下非常有用。 calculateBMI(70, height: 175); 如果我想这在JavaScript中呢? 我不想要的是 – myFunction({ param1 : 70, param2 : 175}); function myFunction(params){ //check if params is an object //check if the parameters I need are non-null //blah-blah } 我已经使用了这种方法。 有另一种方法吗? 我可以使用任何图书馆做这个。 (或者有人可以指出我已经这样做了)
我来与这个: (defn string-> integer [str&[base]] (Integer / parseInt str(if(nil?base)10 base))) (string – >整数“10”) (string – >整数“FF”16) 但是这一定是一个更好的方法。
如果我定义一个像这样的Ruby函数: def ldap_get ( base_dn, filter, scope=LDAP::LDAP_SCOPE_SUBTREE, attrs=nil ) 我怎么称呼它只提供第一个2和最后一个参数? 为什么不是这样的 ldap_get( base_dn, filter, , X) 可能或如果可能的话,怎么办?