在与我的问题中的链接的作者讨论之后,代码确实可以通过一个小的调整和对我的 View 类的名称进行更正以符合 mvvmcross 约定。
我的视图被错误地命名为 SomethingViewController 而不是 SomethingView。
Greg 的代码在当前 MVX v3 代码库上工作的更改是将他的示例从:
public abstract class SubViewModelBase<TResult> : ViewModelBase 
{
   protected string MessageId { get; private set; }
   protected SubViewModelBase(string messageId)
   {
      MessageId = messageId;
   }
   ....
}
至:
public abstract class SubViewModelBase<TResult> : ViewModelBase 
{
   protected string MessageId { get; private set; }
   public virtual void Init(string messageId){
      this.MessageId = messageId;
   }
}
当然在你的子模型中使用
public abstract class MySomeModel : SubViewModelBase<YourReturnType> 
{
   public override void Init(string messageId, other.. parameters..){
      base.Init(messageId);
      .. your other parameters init here..
   }
}