Tag: 可选参数

您可以在WCF服务方法中使用可选参数吗?

我看过这样的post和这个但是它们都是几年前的。 我可以这样做吗? [OperationContract] [FaultContract(typeof(MyCustomFault))] List SelectMany(string partialPartNumber, string division = null);

C#“常量对象”用作默认参数

有没有办法创建一个常量对象(即它无法编辑并在编译时创建)? 我只是在玩C#语言并注意到可选参数function,并认为可以将默认对象用作可选参数。 考虑以下: //this class has default settings private const SettingsClass DefaultSettings = new SettingsClass (); public void doSomething(SettingsClass settings = DefaultSettings) { } 这显然不能编译,但是我想做的一个例子。 是否可以创建这样的常量对象并将其用作可选参数的默认值?

为什么C#4.0中的可选参数需要编译时常量?

还有一种方法可以使用可选方法参数的运行时值吗?

C#为所有可选参数提供值

我正在读一本关于C#的书,我在命名和可选参数的章节中。 我读了一个子弹说: “如果存在多个可选参数并且为一个指定了值,则还必须为所有前面的可选参数提供值” 能不能给我一个例子,因为我无法从代码中重现上述陈述。

C# – 如何使用默认值跳过参数?

请考虑以下方法示例: public void MyMethod (string par1, bool par2 = “true”, string par3=””) { } 现在让我们说我调用MyMethod并将par3的值设置为“IamString”。 如果不将par2的值设置为true或false,我怎么能这样做呢? 我基本上想要将par2值保留为默认值。 我问这个是因为在Flash的ActionScript中可以通过使用关键字default来做到这一点,所以我可以调用MyMethod(“somestring”,默认,“IamString”),par2将被解释为true ,这是它的默认值。 我想知道C#中是否也有可能。

C#中的默认方法参数

如何使方法具有参数的默认值?

为什么C#允许通过可选参数进行模糊函数调用?

我今天遇到了这个,我很惊讶我之前没有注意到它。 给出一个简单的C#程序,类似于以下内容: public class Program { public static void Main(string[] args) { Method(); // Called the method with no arguments. Method(“a string”); // Called the method with a string. Console.ReadLine(); } public static void Method() { Console.WriteLine(“Called the method with no arguments.”); } public static void Method(string aString = “a string”) { Console.WriteLine(“Called the method […]

C#默认参数

对于某人来说,这可能是一个非常简单的答案。 我有一个带有Optional Parameter的方法,如此; public static Email From(string emailAddress, string name = “”) { var email = new Email(); email.Message.From = new MailAddress(emailAddress, name); return email; } 现在,我必须以.Net 3.5为目标,我的理解是Optional Parameters是.Net 4的一部分。但是,我的项目构建并且我仔细检查了属性 – 应用程序页面,其中3.5表示目标框架。 然后我在MSDN上发现了一篇文章,说它是VS2010中C#4的一个特性。 ( MSDN文章 – > 命名和可选参数 ) 有人可以帮我澄清一下。 C#4不需要.Net4? 什么是可选参数实际上是一部分? 谢谢。

从powershell调用C#方法而不提供可选参数

我有一个ac#方法我从一个带有可选字符串参数的dll加载,默认为null 。 例如 public void foo(string path, string new_name = null, bool save_now = true) { if(name == null) new_name = Path.GetFileNameWithoutExtension(path); … if(save_now) Save(); } 我想在powershell脚本中调用它,而不是为new_name提供值,而是为save_now提供一个值。 根据这个看似非常相似的问题,我试过了 $default = [type]::Missing $obj.foo($path, $default, $false) 但这会导致new_name在函数中被设置为”System.Reflection.Missing” 。 另外我试过了 $obj.foo($path, $null, $false) 但这会导致new_name设置为空字符串,仍然不为null 。 我可以将默认值设置为空字符串,但我想知道是否有任何好方法可以使用默认值。

代理上的可选参数无法正常工作

为什么这段代码不能编译? delegate int xxx(bool x = true); xxx test = f; int f() { return 4; }