积极答复者
请教,最后两句代码的virtual是什么意思,另外类型Genre和属性Genre怎么一样,不会引起歧义吗?

问题
-
public class Album { public int AlbumId { get; set; } public int GenreId { get; set; } public int ArtistId { get; set; } public string Title { get; set; } public decimal Price { get; set; } public string AlbumArtUrl { get; set; } public virtual Genre Genre { get; set; } public virtual Artist Artist { get; set; } }
- 已移动 孟宪会Moderator 2011年3月22日 0:19 (发件人:ASP.NET 与 AJAX)
答案
-
virtual 关键字,请参考:
http://msdn.microsoft.com/zh-cn/library/9fkccyh4(v=vs.80).aspx
最后2个不会引起歧义,因为属性定义,前一个就是属性的类型,后一个就是属性的名称,虽然名字相同,但位置决定了他们的含义不同
理解的越多,需要记忆的就越少- 已建议为答案 Cookie Luo 2011年3月23日 8:12
- 已标记为答案 mldarkMember 2011年3月23日 17:13
-
您好,
virtual关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。例如,此方法可被任何继承它的类重写。
而第一个Genre 是类型,第二个Genre 是变量名,所以不会有疑义。
- 已建议为答案 Cookie Luo 2011年3月23日 8:12
- 已标记为答案 mldarkMember 2011年3月23日 17:13
-
你好
上面两位答的很全了,我再加点。
属性的命名规则应符合一般的命名规则,即公有的使用PascalCase规则,而非公有的使用camelCase规则。在上面的例子中,Genre属性是公有的,所以命名为Genre 而不是genre.
所以出现2个Genre很符合要求的,不会有歧义。
Cookie Luo[MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 mldarkMember 2011年3月23日 17:13
全部回复
-
virtual 关键字,请参考:
http://msdn.microsoft.com/zh-cn/library/9fkccyh4(v=vs.80).aspx
最后2个不会引起歧义,因为属性定义,前一个就是属性的类型,后一个就是属性的名称,虽然名字相同,但位置决定了他们的含义不同
理解的越多,需要记忆的就越少- 已建议为答案 Cookie Luo 2011年3月23日 8:12
- 已标记为答案 mldarkMember 2011年3月23日 17:13
-
您好,
virtual关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。例如,此方法可被任何继承它的类重写。
而第一个Genre 是类型,第二个Genre 是变量名,所以不会有疑义。
- 已建议为答案 Cookie Luo 2011年3月23日 8:12
- 已标记为答案 mldarkMember 2011年3月23日 17:13
-
你好
上面两位答的很全了,我再加点。
属性的命名规则应符合一般的命名规则,即公有的使用PascalCase规则,而非公有的使用camelCase规则。在上面的例子中,Genre属性是公有的,所以命名为Genre 而不是genre.
所以出现2个Genre很符合要求的,不会有歧义。
Cookie Luo[MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 mldarkMember 2011年3月23日 17:13