Tôi gặp sự cố khi tìm ra các đối số thích hợp của tùy chọn Arg trong RhinoMocks.Rhino Mocks - Sử dụng đúng cách Arg <T> .Ref
Tôi đang cố gắng thử phương pháp MSIRecordGetString có tham số Int32 ref. Hiện tại tôi có:
_Api.RecordGetString(Arg<IntPtr>.Is.Anything,
Arg<Int32>.Is.Anything,
Arg<StringBuilder>.Is.Anything,
ref Arg<Int32>.Ref(???, 0).Dummy);
Mọi người có thể cho tôi biết điều gì không ??? nên/có thể được thay thế bằng. Tôi biết nó nên là một cái gì đó của loại AbstractConstraint nhưng tôi không chắc chắn những gì là hợp lệ. Gặp khó khăn khi tìm bất kỳ ví dụ nào về cách sử dụng phù hợp.
Chúc mừng.
Xin chào Matt, cảm ơn câu trả lời. Không thực sự chắc chắn tôi có được những lý do cho sự ràng buộc này mặc dù. Tại sao điều này khác với cú pháp Out không yêu cầu abstractconstraint? –
Có khả năng vì các tham số ngoài phải được gán cho, trong khi các tham số ref không, vì vậy ý tưởng thiết kế là các tham số ref có thể có giá trị đã tồn tại trước để truyền vào. Bạn có thể hạn chế nó vào thời điểm này không? –
@MatthewAbbott Tôi nghĩ '.Ref' bị thiếu giữa' Arg 'và' (Is.Anything(), 0) .Dummy'. Vì vậy, nó nên được 'ref Arg .Ref (Is.Anything(), 0) .Dummy'. –