Potrzebuję utworzyć typ, który ma dwie właściwości o tej samej nazwie i różnią się tylko w typie zwracanym. Dynamiczne emitowanie tego typu za pomocą odbicia jest całkowicie dopuszczalne.Jak mogę emitować typ .NET z dwiema właściwościami, które są przeciążone tylko dla typu zwracanego?
coś takiego:
public TypeA Prop { get; }
public TypeB Prop { get; }
Rozumiem, że nie mogę spożywać tę właściwość z C# lub VB.NET i wiele innych języków .NET.
Aby uniknąć odpowiedzi wyjaśniających, dlaczego nie chcę tego zrobić, pozwól mi wyjaśnić, dlaczego jest to potrzebne: potrzebuję go do odtworzenia błędu.
Dokładniej, mam błąd w AutoFixture, gdzie Moq typu spowoduje, że w niektórych przypadkach wygeneruje wyjątek. Problem polega na tym, że typ emitowany przez Moq zawiera dwie właściwości o nazwie "Mock", które różnią się tylko typem zwracanym.
Chciałbym odtworzyć ten scenariusz w teście jednostkowym, ale wolałbym nie uzależniać się od Moq tylko z tego jednego powodu, więc chciałbym odtworzyć to zachowanie wewnętrznie w pakiecie testowym.
+1 za udzielenie uzasadnione powody do tego, co byłoby inaczej „foot, cel, sh o "typ materiału :) –