C# 这个ICommand属性是如何工作的?

C# 这个ICommand属性是如何工作的?,c#,wpf,icommand,C#,Wpf,Icommand,如果您能提供以下代码的帮助,我将不胜感激: public static ICommand AddNewRecord { get; set; } 以上代码位于WPF应用程序的App.xaml.cs文件中。我不明白的是:如果我是正确的,接口就不能实例化。那么,上述属性的作用是什么 下面是使用上述属性的代码(如果是这样的话): AddNewRecord=newrcommand(列表=> { var elementType=list.GetType().GetGenericArguments()[0]

如果您能提供以下代码的帮助,我将不胜感激:

public static ICommand AddNewRecord { get; set; }
以上代码位于WPF应用程序的App.xaml.cs文件中。我不明白的是:如果我是正确的,接口就不能实例化。那么,上述属性的作用是什么

下面是使用上述属性的代码(如果是这样的话):

AddNewRecord=newrcommand(列表=>
{
var elementType=list.GetType().GetGenericArguments()[0];
//我不能透露更多的代码。
},list=>list!=null);
我无权提供整个代码段。

RCommand
是实现
ICommand
接口的具体类型,您可以将
ICommand
属性设置为实现
ICommand
接口的任何类型

因此,代码基本上创建了一个
RCommand
,并将
AddNewRecord
属性设置为它

RCommand
类似乎依次接受执行命令时调用的
操作和从命令的
CanExecute
方法返回的
谓词将
ICommand
属性设置为实现
ICommand
接口的任何类型

因此,代码基本上创建了一个
RCommand
,并将
AddNewRecord
属性设置为它


RCommand
类似乎依次接受执行命令时调用的
操作和从命令的
CanExecute
方法返回的
谓词,但是,在提供的代码
RCommand
实现
ICommand
中从未实例化接口,因此您可以执行
ICommand command=new RCommand()…
但不能执行
ICommand command=new ICommand()
。接口只是一个实现这是一个C#问题,不是WPF问题。@PanagiotisKanavos是真的,但我最初觉得App.xaml.cs文件中的代码可能与此有关。@12秒谢谢。接口无法实例化“您完全正确,但是,在提供的代码
RCommand
实现
ICommand
中从未实例化接口,因此您可以执行
ICommand command=new RCommand()…
但不能执行
ICommand command=new ICommand()
。接口只是一个实现这是一个C#问题,不是WPF问题。@PanagiotisKanavos是真的,但我最初觉得App.xaml.cs文件中的代码可能与此有关。@12秒谢谢。
AddNewRecord = new RCommand<IEnumerable>(list =>
  {
    var elementType = list.GetType().GetGenericArguments()[0];

    // More code I can't disclose.

  }, list => list != null);