如何识别方法是否访问默认值

时间:2016-01-21 12:29:24

标签: c# function parameters default-value

我正在使用名为myStaticMethod的静态方法。其定义如下:

 public static void myStaticMethod(string strInputVal="Default")
        {       
            if ("Is accessing Default Value") // how can i define this condition
            {
                //Do something
            }
            else
            {
                //Do some other task
            }
        }

现在我能够以不同的方式调用该方法,如下所示:

 myStaticMethod(); // will access default value
 myStaticMethod("Some Value");// will use the passed value
 myStaticMethod("Default"); // Here passing value and default value are same

我的问题是如何确定方法是访问默认值还是通过方法调用传递的值。

如果我定义条件如;

 if (strInputVal == "Default")
    {
       // do operation here
    }
  

这意味着所有函数调用期望已满   myStaticMethod("Default");因为在这种情况下实际上是方法   访问传递的值,但我的条件会说它正在访问   默认值

2 个答案:

答案 0 :(得分:0)

+1 @Sinatr我只会添加澄清。:

public static void myStaticMethod(string strInputVal)
{
    // Do what same part
}

// When you call this method it is 
public static void myStaticMethod()
{
    string strInputVal = "Default";   
    //Do something for default value
    System.Console.WriteLine("I am indetified as called with default value");
    myStaticMethod(strInputVal);
}

答案 1 :(得分:0)

正如Sinatr在评论中所提到的,重载方法可能是最有效的方法。然后,两个重载都可以将控制汇集到一个内部方法中,指示是否使用了默认值:

function remove_jquery(){
wp_deregister_script('jquery');
wp_dequeue_script('jquery');
}
add_action('wp_enqueue_scripts','remove_jquery');