Exi*_*tos 1 .net c# oop wcf web-services
我上课了
class Video
{
public string name;
public string description;
}
Run Code Online (Sandbox Code Playgroud)
并且因为它通过WCF接口公开,我想重命名它(业务对象现在已被修改为封装音频和图像以及视频).
所以我的解决方案是编写另一个继承自它的类:
class MediaItem : Video
{
}
Run Code Online (Sandbox Code Playgroud)
我们有一个类似"工厂"的类,它从数据库中获取视频.
public Video GetVideo(int videoId)
{
}
Run Code Online (Sandbox Code Playgroud)
但是当我打电话给以下时:
MediaItem itemToReturn = (MediaItem)contentManagerforPage.GetVideo(mediaId);
Run Code Online (Sandbox Code Playgroud)
我收到错误:
无法将"Video"类型的对象强制转换为"MediaItem"类型.
我明白我不能这样做(将基类强制转换为子类).那么解决方案是什么?
我无法通过WCF公开类名'Video',我需要公开MediaItem.是否有任何OO方法来解决这个问题(或许使用接口)?
如果没有,我可以重命名WCF属性中的对象吗?