为什么我有一个(错误不实现接口成员)银光

本文关键字:接口 成员 银光 实现 有一个 错误 为什么 | 更新日期: 2023-09-27 18:19:15

PagesCollection.ViewModel.PagePictureCommand.cs

namespace PagesCollection.ViewModel
{
    public partial class PagePicturesViewModel : IPropertieCommands
    {
        private ICommand deleteAlbum;
        public ICommand _CreateAlbum
        {
            get
            {
                if (createAlbum == null)
                    createAlbum = new Model.DelegateCommand(CreateAlbum, CanAdd);
                return createAlbum;
            }
        }
    }
}

PagesCollection.ViewModel.PagePicturesViewModel.cs

namespace PagesCollection.ViewModel
{
    public partial class PagePicturesViewModel : IPictureMethods
    {
        public void CreateAlbum(object param)
        {...}
    }
}

我有一个 2 接口和一个划分在 2 上的类.类的每个半部分都实现了其中一些接口。但我有一个非常奇怪的错误。("PagesCollection.ViewModel.PagePicturesViewModel"不实现接口成员"PagesCollection.Model.IPropertieCommands._CreateAlbum.set"(你能帮我吗?

为什么我有一个(错误不实现接口成员)银光

你不明白的是什么,因为错误消息似乎很有描述性:

PagesCollection.ViewModel.PagePicturesViewModel' 未实现 接口成员 'PagesCollection.Model.IPropertieCommands._CreateAlbum.set

我怀疑界面看起来像:

public interface IPropertieCommands
{
   ICommand _CreateAlbum { get; set; }
}

这定义了您必须在该属性上有一个二传手!

因此,只需在实现中添加一个资源库:

public ICommand _CreateAlbum
{
    get
    {
        if (createAlbum == null)
            createAlbum = new Model.DelegateCommand(CreateAlbum, CanAdd);
        return createAlbum;
    }
    set
    {
        createdAlbum = value; // or something else sensible!
    }
}
看起来

您的IPropertieCommands接口要求 _CreateAlbum 属性有一个 setter - 但您只实现了 getter。

public interface IPropertieCommands
{
   ICommand _CreateAlbum { get;}
}

如果不希望此属性具有 setter(只读(,则可以使用如上面的接口代码。