gpt4 book ai didi

c# - 使自动生成的部分类实现自定义接口(interface)

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:45 24 4
gpt4 key购买 nike

最近我一直在开发一个 Silverlight 项目,其中有一个自动生成的类位于 *File.Web.g.cs 中,其定义为:

[DataContract(Namespace="http://schemas.datacontract.org/2004/07/Project.Web.Models")]
public sealed partial class SwitchDevice : Entity
{
/// <summary>
/// Gets or sets the 'ID' value.
/// </summary>
[DataMember()]
[Editable(false, AllowInitialValue=true)]
[Key()]
[RoundtripOriginal()]
public int ID
{
get
{
return this._id;
}
set
{
if ((this._id != value))
{
this.OnIDChanging(value);
this.ValidateProperty("ID", value);
this._id = value;
this.RaisePropertyChanged("ID");
this.OnIDChanged();
}
}
}
}

我想做的是让 SwitchDevice 实现 IDevice 接口(interface)。代码位于另一个名为 IDevice.cs 的文件中。我决定像这样扩展部分类:

namespace Project.Web.Models
{
public interface IDevice
{
int ID
{
get;
set;
}
}

public partial class SwitchDevice : IDevice
{
}
}

出于某种原因,VS2010 看不到位于 Web.G.CS 文件中的定义并生成错误:

'Project.Web.Models.SwitchDevice' does not implement interface member 'Project.Web.Models.IDevice.ID' PATH\Project\Interfaces\ISwitchDevice.cs

我浏览并阅读了很多网页,但我还没有真正发现类似的问题。也许我只是做错了,我不是专家。

甚至有可能使这项工作成功吗?预先感谢您提供任何提示和帮助!

最佳答案

你尝试做的很好,我一直在做。

确保在同一个命名空间和同一个项目中有两个部分类定义文件。您使用该类实现的接口(interface)可能在另一个程序集中,或者您失去了部分优势,并且无论如何都必须从调用代码中引用您的 dal,这是您设计可以给您的一件事;与 DAL 隔离并针对接口(interface)进行编码。

关于c# - 使自动生成的部分类实现自定义接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7330130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com