0
我遇到了一個奇怪的行爲與mtouch;我知道在特定情況下AOT可能會失敗,但我認爲這個問題有點不同。mtouch AOT缺少彙編
下面是一些代碼:
public class TTableCell
{
}
public class TTableElement<T>
where T: TTableElement<T>
{
public void SetProperty<TV> (ref TV backingStorage, string propName, TV value)
{
backingStorage = value;
}
}
public class TAbstractTableItem<TC> : TTableElement<TAbstractTableItem<TC>>
where TC : TTableCell
{
public TAbstractTableItem()
{
}
string _string;
bool _bool;
public void DoException()
{
SetProperty (ref _string, "String", "Bla bla");
SetProperty (ref _bool, "Boolean", false);
}
}
現在,如果執行以下操作別的地方:
TTableItem<TTableCell> item = new TTableItem<TTableCell>();
item.DoException();
我得到異常:
Unhandled managed exception: Attempting to JIT compile method 'TouchSandbox.TTableElement`1<TouchSandbox.TAbstractTableItem`1<TouchSandbox.TTableCell>>:SetProperty<bool> (bool&,string,bool)'
現在,請注意只會爲布爾型版本引發異常,而不是字符串之一。在我的項目中,我使用了多種類型的方法(自定義類型),這個問題只發生在bool中。
任何人都可以幫我解決這個問題嗎?
感謝
塞爾吉奧
附:顯然,這個問題是存在進入的iDevice只(而不是模擬器)
UPDATE
好了,一個小的搜索到xamarin的Bugzilla後,我發現,強調了缺乏車票(實際上是一個有點老!) mtouch AOT:Bug 2096。可悲的是,似乎他們還沒有修復!
是的,謝謝...實際上我已經嘗試過其他值類型(int,float,DateTime),似乎它與它們有關。 – Atropo 2013-04-24 12:27:36
是的,它與價值類型有關。課程工作得很好。 – 2013-04-24 12:36:10