Я создал производный от UIViewController контроллер базового представления, который наследует большинство моих контроллеров:
public abstract class ViewModelViewController<T> :
UIViewController where T : ViewModelBase
{
...
}
, как только контроллер наследуется от этого базового контроллера ...
public partial class MainViewController :
ViewModelViewController<MainPageViewModel>
{
..
}
попытка открыть .xib, связанную с контроллером, приводит к этой ошибке, которая не исчезнет при перестройке, перезапуске или любой другой отчаянной мере:
Error updating Objective-C type information. Argument cannot be null.
Parameter name: type.
ArgumentNullException: Argument cannot be null.
Parameter name: type
at MonoDevelop.Projects.Dom.Parser.ProjectDom+<GetInheritanceTree>c__Iterator33.MoveNext () [0x0023d] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Dom.Parser/ProjectDom.cs:164
at MonoDevelop.MacDev.ObjCIntegration.NSObjectProjectInfo.ResolveCliToObjc (MonoDevelop.MacDev.ObjCIntegration.NSObjectTypeInfo type) [0x000fb] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs:182
at MonoDevelop.MacDev.ObjCIntegration.NSObjectProjectInfo.Update () [0x000fe] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs:89
at MonoDevelop.MacDev.ObjCIntegration.NSObjectProjectInfo.Update (Boolean force) [0x0000c] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs:66
at MonoDevelop.MacDev.XcodeSyncing.XcodeProjectTracker.UpdateTypes (IProgressMonitor monitor, Boolean force) [0x00034] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeProjectTracker.cs:302
Единственный обходной путь (который на самом делеопция), это закомментировать весь частичный класс перед редактированием xib.Это showtopper.
Кто-нибудь знает реальный обходной путь?