[英]Cannot cast from source type to destination type
我是C#的新手,所以我在做一些教程。 当我尝试从Xamarin Studio运行Android教程教程时,出现此错误:
引发了System.InvalidCastException。 无法从源类型转换为目标类型。
这是给出错误的代码:
public Java.Lang.Object [] GetSections ()
{
var intPtr = JNIEnv.NewArray (sections.ToArray ());
var array = new JavaArray<Java.Lang.Object> (intPtr, JniHandleOwnership.TransferLocalRef);
return (Java.Lang.Object []) array;
}
我怎样才能解决这个问题?
您正在将JavaArray<Java.Lang.Object>
强制JavaArray<Java.Lang.Object>
为Java.Lang.Object []
。
将JavaArray<Java.Lang.Object>
GetSessions()
的返回类型更改为JavaArray<Java.Lang.Object>
public JavaArray<Java.Lang.Object> GetSections ()
{
var intPtr = JNIEnv.NewArray (sections.ToArray ());
return new JavaArray<Java.Lang.Object> (intPtr, JniHandleOwnership.TransferLocalRef);
}
您的第二个问题可能意味着您已经实现了一个接口,该接口的GetSections方法需要Java.Lang.Object的返回类型。
如果您自己创建接口,那么您可能会在此方法中犯同样的错误。
所以:
public JavaArray<Java.Lang.Object> GetSections ()
{
var intPtr = JNIEnv.NewArray (sections.ToArray ());
return new JavaArray<Java.Lang.Object> (intPtr, JniHandleOwnership.TransferLocalRef);
}
并且您的界面应如下所示:
public JavaArray<Java.Lang.Object> GetSections ();
我想你两次犯了同样的错误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.