gpt4 book ai didi

c# - 如何在 WCF 中将类型公开为不同的名称?

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

我有课

class Video
{
public string name;
public string description;
}

并且因为它是通过 WCF 接口(interface)公开的,所以我想重命名它(业务对象现在已被修改为封装音频和图像以及视频)。

所以我的解决方案是编写另一个继承自它的类:

class MediaItem : Video
{
}

我们有一个类似“工厂”的类,可以从数据库中获取视频。

public Video GetVideo(int videoId)
{
}

但是当我调用以下内容时:

MediaItem itemToReturn = (MediaItem)contentManagerforPage.GetVideo(mediaId);

我得到错误:

无法将“Video”类型的对象转换为“MediaItem”类型。

我知道我不能这样做(将基类转换为子类)。那么解决方案是什么?

我无法通过 WCF 公开类名“Video”,我需要公开 MediaItem。是否有任何面向对象的方法来解决这个问题(也许使用接口(interface))?

如果不能,我可以重命名 WCF 属性中的对象吗?

最佳答案

Video 应该继承自 MediaItem,而不是相反。

您可以使用 [DataContract(Name="YourName")] 修饰类以提供您在代码中使用的名称以外的其他名称。

关于c# - 如何在 WCF 中将类型公开为不同的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7317941/

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