我嘲笑VSTO對象,並在一個項目中(我沒有寫),它有這個代碼:嘲笑的對象不具有智能感知顯示的所有屬性 - 在一個項目中,但有他們在其他
var listOfSheets = new List<Worksheet>();
var mockSheets = Substitute.For<Sheets>();
mockSheets.Count.Returns(listOfSheets.Count);
智能感知工具提示爲mockSheets顯示6個性質:
與破發點線在這個項目工作。
不過,我有一個不同的項目爲mockSheets相同的代碼(相同的標記,命名空間等),但智能感知工具提示只顯示1個屬性:
我知道這是我想要解決的,但根本原因僅供參考實際的問題是:
Cannot perform runtime binding on a null reference
編輯:
所述片狀物體是嘲笑:
public static Worksheet Sheet
{
get
{
var mockSheet = Substitute.For<Worksheet>();
mockSheet.Name = MockSheetName;
mockSheet.Visible = XlSheetVisibility.xlSheetVisible;
return mockSheet;
}
}
public static Workbook Workbook()
{
return Workbook(1);
}
如果手動模擬'Sheets'(創建,從'Sheets'派生的'FakeSheets'類),它的工作原理如預期? – 2012-03-22 21:32:40
@DavidTchepak嗨大衛,謝謝你在這一點上接我,是的Sheets已經是假的。請參閱我的編輯。我認爲有一個潛在的原因,屬性沒有顯示,你知道任何調試技術發現?其實我會下載源代碼NSubstitute和使用,而不是釋放DLL – 2012-03-22 21:34:53
@DavidTchepak我沒有管理員權限(工作),我不能安裝的NuGet :(我不甚至有反光,所以我不能甚至反編譯的DLL :(請問你知道任何其他方式來獲得源代碼? – 2012-03-22 22:15:02