好的,我们有一个包含属性的类 Ticket:
List<TaskComment> Comments;
我设置了一个 back 属性,以便我可以进行一些验证:
private List<TaskComment> _comments;
public List<TaskComment> Comment
{
get
{ //stuff }
internal set
{ //stuff }
}
尽管将 set 设置为 internal,Add() 方法仍然暴露在程序集之外。但无论如何,我想要做的是在评论对象被添加到集合时设置它的 ticketId 属性。例如:
var ticket = new TaskTicket();
var comment = new TaskComment { //initializers }
ticket.Comments.Add(comment);
--inside the ticket:
public List<TaskComment> Comments
{
get{ //stuff }
set
{
((TaskComment)value).TicketId = this._ticketId;
}
}
但这行不通。它告诉我它不能从 TaskComment 转换为 MyLibrary.TaskComment。这对我来说真的没有任何意义。但除此之外,这无论如何都感觉不对。那么在将传入的值/对象添加到类的集合之前,我究竟该如何修改呢?