Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中创建Powershell cmdlet-为什么不使用自动实现的属性_C#_Powershell_Cmdlets - Fatal编程技术网

在C#中创建Powershell cmdlet-为什么不使用自动实现的属性

在C#中创建Powershell cmdlet-为什么不使用自动实现的属性,c#,powershell,cmdlets,C#,Powershell,Cmdlets,很简单的问题: 在我所看到的所有示例中,cmdlet从不利用cmdlet参数的自动实现属性,不使用自动实现属性有什么真正的原因吗?我认为没有任何理由不能使用自动实现属性。我有,而且它似乎工作得很好。我猜很多示例代码都是在C#3.0之前编写的,他们必须手工完成。我并不是说你错了,我自己也想过,但是。。PowerShell是在2006年推出的,C#3.0是在2007年推出的,我遇到的所有示例真的都来自这一年,并且2007年之后再也没有生成过其他示例吗?听起来不大可能。我同意mike z的观点,因为当

很简单的问题:


在我所看到的所有示例中,cmdlet从不利用cmdlet参数的自动实现属性,不使用自动实现属性有什么真正的原因吗?

我认为没有任何理由不能使用自动实现属性。我有,而且它似乎工作得很好。我猜很多示例代码都是在C#3.0之前编写的,他们必须手工完成。

我并不是说你错了,我自己也想过,但是。。PowerShell是在2006年推出的,C#3.0是在2007年推出的,我遇到的所有示例真的都来自这一年,并且2007年之后再也没有生成过其他示例吗?听起来不大可能。我同意mike z的观点,因为当PowerShell 2.0增加了编写高级函数(行为更像二进制cmdlet的函数)的功能时,使用C#来编写cmdlet的需要大大减少了。@cogumel0如果没有损坏,就不要修复它。为什么要重写仍然有效的示例代码。而且,旧习惯很难改掉。我怀疑很多在2007年之后编写代码的人仍然手动实现属性。如果你想举个例子,可以经常使用自动属性。我想这是主要原因,但我仍然遇到一些人没有看到自动实现的属性。实际上,可以想出一个不使用自动实现的属性的原因-默认值。如本文所述,您需要一个支持变量。