В C # мне нужно написать конструктор класса, как показано ниже, который расширяет базовый класс из библиотеки Android, т.е. "Parcelable".Я получаю сообщение об ошибке «Parcelable» не содержит конструктор, который принимает 0 аргументов.
Я видел C # Ошибка: Parent не содержит конструктор, который принимает 0 аргументов и Parentне содержит конструктор, который принимает 0 аргументов , но он не работает.Мой класс выглядит следующим образом:
...
using Parcel = Android.OS.Parcel;
using Parcelable = Android.OS.Parcelable;
/// <summary>
/// Created by hashmi on 07/07/2015.
/// </summary>
public class Classname: Parcelable
{
private int id;
private string name;
private string address;
private string latitude;
private string longitude;
public Classname(int id, string name, string address, string latitude, string longitude)
{
this.id = id;
this.name = name;
this.address = address;
this.latitude = latitude;
this.longitude = longitude;
}
...
}
Код для базового класса Parcelable выглядит следующим образом:
using System;
using Android.Runtime;
using Java.Lang;
namespace Android.OS
{
[Register("android/os/Parcelable", ApiSince = 1, DoNotGenerateAcw = true)]
public abstract class Parcelable : Java.Lang.Object
{
[Register("CONTENTS_FILE_DESCRIPTOR")]
public const int ContentsFileDescriptor = 1;
[Obsolete("This constant will be removed in the future version. Use Android.OS.ParcelableWriteFlags enum directly instead of this field.")]
[Register("PARCELABLE_WRITE_RETURN_VALUE")]
public const ParcelableWriteFlags ParcelableWriteReturnValue = ParcelableWriteFlags.ReturnValue;
}
}
Базовый класс - это абстрактный класс библиотеки Android.Я хочу написать конструктор наподобие «Classname» выше без изменения абстрактного базового класса «Parcelable».
Я отредактировал исходный код с помощью следующего кода.
using Parcel = Android.OS.Parcel;
using Parcelable = Android.OS.Parcelable;
/// <summary>
/// Created by hashmi on 07/07/2015.
/// </summary>
public class LocationDetail : Parcelable
{
private int id;
private string name;
private string address;
private string latitude;
private string longitude;
public LocationDetail(int id, string name, string address, string latitude, string longitude)
: base(id, name, address, latitude, longitude)
{
this.id = id;
this.name = name;
this.address = address;
this.latitude = latitude;
this.longitude = longitude;
}
...
}
новая ошибка "Parcelable" не содержит конструктор, который принимает 5 аргументов