IApproval タイプの ApprovalRules というプロパティを持つクラス ApprovalTicket があります。
IApproval ApprovalRules;
このフィールドには、そのインターフェースを実装するいくつかの異なるタイプのクラスが含まれます。1 つ上のレベルに進むと、ApprovalTickets のリストが作成されます。私がやろうとしているのは、linq を使用して、MocReviewerApproval タイプの ApprovalRules を持つ ApprovalTickets のリストを返すことです。
私は次のようなことを試みていました:
var reviews = request.MocApprovalTasks
.Where(mocApproval => mocApproval.ApprovalRules is MocReviewerApproval)
.ToList();
しかし、返されたリストを確認すると、MocManagerApproval などの ApprovalRules タイプを持つチケットがまだ含まれています。私は何が欠けていますか?
アップデート:
もっと具体的に言ってみましょう。継承スキームはこちら
MocApproval : TaskTicket
>>IApproval ApprovalRules;
MocReviewerApproval : IApproval
MocManagerApproval : IApproval
MocControllerApproval : IApproval
internal interface IApproval
{
bool Approve(Guid approverGuid, MocApproval approval);
bool Deny(Guid approverGuid, MocApproval approval, TaskComment denialComment);
bool Close(Guid approverGuid, MocApproval approval, TaskComment closeComment);
bool Notify();
void Set(MocApproval approval);
User GetAssignee();
TaskComment GetNotificationComment();
}