わかりました、プロパティを含むクラス Ticket があります。
List<TaskComment> Comments;
いくつかの検証を行うことができるように、 back プロパティを設定しました。
private List<TaskComment> _comments;
public List<TaskComment> Comment
{
get
{ //stuff }
internal set
{ //stuff }
}
セットを内部に設定しても、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 にキャストできないと言っています。これは本当に意味がありません。しかし、それ以外に、これはとにかく正しくありません。では、クラスのコレクションに追加する前に、受信した値/オブジェクトを正確に変更するにはどうすればよいでしょうか?