问一个关于接口的问题。

kazan 2008-09-19 01:00:46
大家好,最近在看一份C#写的代码时发现有一个问题不太明白。先看一下C#代码:
定义一个接口:

public interface IPublishable
{
String Title { get; }

String Content { get;}

}

实现此接口:

public class Post : IPublishable
{
private string _Title;
public string Title
{
get { return _Title; }
set
{
_Title = value;
}
}

private string _Content;
public string Content
{
get { return _Content; }
set
{
if (_Content != value)
{
_Content = value;
}
}
}
}

问题:接口中定义的属性为只读,为什么它在实现的时候可以写成读写方式?这样的代码在VB.NET中应该如何写?谢谢
...全文
75 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mzhao 2008-09-20
  • 打赏
  • 举报
回复
不清楚C#是怎么声明Readonly属性的,但是VB.Net只要指定
Public ReadOnly Property XXX As XX
做接口不会出问题。
全速前行 2008-09-19
  • 打赏
  • 举报
回复
接口。。。

帮你顶3
kazan 2008-09-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yanlongwuhui 的回复:]
Convert C# to VB.NET
http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx
[/Quote]

转换过,在C#下可以通过,但在VB.net下无法通过。只读属性没法设置成可写的属性。需要用什么关键字标识一下吗?
smx717616 2008-09-19
  • 打赏
  • 举报
回复
接口只是提供一个壳。
yanlongwuhui 2008-09-19
  • 打赏
  • 举报
回复
Convert C# to VB.NET
http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx
kazan 2008-09-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ZengHD 的回复:]
接口中定义的属性为只读,为什么它在实现的时候可以写成读写方式?

IPublishable中的Title不是virtual
Post中的Title不是override
[/Quote]

对ZengHD 的回复不是太明白。
ZengHD 2008-09-19
  • 打赏
  • 举报
回复
接口中定义的属性为只读,为什么它在实现的时候可以写成读写方式?

IPublishable中的Title不是virtual
Post中的Title不是override
gh_li 2008-09-19
  • 打赏
  • 举报
回复
不是很清楚,
不过有个问题,如果只读的话,它的值从哪里来?

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧