public class NewCallInfo
{
public string Site { get; set; }
public string CustomerName { get; set; }
public string CustomerPhone { get; set; }
public string CustomerExt { get; set; }
public string CustomerAddress { get; set; }
public string CustomerCity { get; set; }
public string CustomerState { get; set; }
public string CustomerZip { get; set; }
public string ServiceType { get; set; }
public string Priority { get; set; }
public string Description { get; set; }
public string Technician { get; set; }
public string Serial { get; set; }
public string Model { get; set; }
}
public interface INewCall
{
NewCallInfo GetNewCallInfo(string site);
}
public class HandleNewCall : INewCall
{
private SqLiteHelper Helper {get;set;}
public HandleNewCall(Context context)
{
Helper = new SqLiteHelper(context);
}
public NewCallInfo GetNewCallInfo(string site)
{
string whereClause = string.Format("Where Site='{0}'", site);
ICursor callCursor = _helper.ReadableDatabase.Query("NewCall", null, whereClause, null, null, null, null);
NewCallInfo newCall = new NewCallInfo();
while(callCursor.MoveToNext())
{
newCall.Site = callCursor.GetString(0);
newCall.CustomerName = callCursor.GetString(1);
newCall.CustomerPhone = callCursor.GetString(2);
newCall.CustomerExt = callCursor.GetString(3);
newCall.CustomerAddress = callCursor.GetString(4);
newCall.CustomerCity = callCursor.GetString(5);
newCall.CustomerState = callCursor.GetString(6);
newCall.CustomerZip = callCursor.GetString(7);
newCall.ServiceType = callCursor.GetString(8);
newCall.Priority = callCursor.GetString(9);
newCall.Description = callCursor.GetString(10);
newCall.Technician = callCursor.GetString(11);
newCall.Serial = callCursor.GetString(12);
newCall.Model = callCursor.GetString(13);
}
if (string.IsNullOrEmpty(newCall.Site))
newCall.Site = "None";
return newCall;
}
}
class MyApp : Application
{
public INewCall NewCall { get; set; }
public MyApp(IntPtr handle, JniHandleOwnership transfer)
:base(handle, transfer)
{
}
public override void OnCreate()
{
NewCall = new HandleNewCall(this);
}
}
次に、私のアクティビティで次のことを行います。
var call = ((MyApp) Application).NewCall.GetNewCallInfo("siteString");
「ソース タイプから宛先タイプにキャストできません」というメッセージが表示されます。インターフェイスとアプリケーションのサブクラスに関する上記のすべては、私にとって非常に新しいものですが、オンラインの例と同じ方法ですべてを行ったように感じます. つまり、この例では. 何時間も頭を壁にぶつけていました。私が行方不明になっていることを誰かがはっきりと見ていますか?