为什么我有一个(错误不实现接口成员)银光
本文关键字:接口 成员 银光 实现 有一个 错误 为什么 | 更新日期: 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(只读(,则可以使用如上面的接口代码。