WWW文字列配列をクラスリストに変換する際に問題があります。私がしたいのは、そこにいくつかのテキスト要素を持つプレハブをインスタンス化することです。タイプVehicleIndex' does not contain a constructor that takes
0' :ここで は文字列配列をWWWからUnity3dのクラスリストに変換
public List<VehicleIndex> VehicleIndexList = new List<VehicleIndex>();
public string[] VehicleStringArray;
public IEnumerator GetAllVehicles()
{
WWW VehicleData = new WWW ("http://localhost/CMVM/LoadVehicle.php");
yield return VehicleData;
Debug.Log (VehicleData.text);
string TheVehicleData = VehicleData.text;
The information comes back just fine.
if(TheVehicleData[TheVehicleData.Length - 1] == '/')
{
TheVehicleData.TrimEnd('/'); Here I'm removing the delimiter
}
string[] results = TheVehicleData.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < results.Length; i++)
{
Debug.Log (results[i]);
}
VehicleStringArray = results; The results go back into an array
VehicleIndexList = VehicleStringArray.Select(sArr => new VehicleIndex
{
ID=VehicleStringArray[0],
Make=VehicleStringArray[1],
Model=VehicleStringArray[2],
Year=VehicleStringArray[3],
Mileage=VehicleStringArray[4]
}).ToList();
}
それはそれだけで動作するはずです、それはエラーを与えるように見えるMySQLデータベースからWWWデータを取得する機能、基本クラスここ
public class VehicleIndex : MonoBehaviour
{
public string ID{ get; set;}
public string Make{ get; set;}
public string Model{ get; set;}
public string Year{ get; set;}
public string Mileage{ get; set;}
public VehicleIndex(string id, string make, string model, string year, string mileage)
{
this.ID = id;
this.Make = make;
this.Model = model;
this.Year = year;
this.Mileage = mileage;
}
}
されています引数 私は何が欠けていますか?クラスに何かを追加する必要がありますか?リスト?配列? 助けてくれてありがとう!ほんとうにありがとう。
ADDITIONAL-は、オブジェクト初期化子
public VehicleIndex Vi;
を添加し、赤い線を回避する唯一の方法は、二重に等しいを使用することであった
VehicleIndexList = VehicleStringArray.Select(sArr => new VehicleIndex
{
Vi.ID==VehicleStringArray[0],
Vi.Make==VehicleStringArray[1],
Vi.Model==VehicleStringArray[2],
Vi.Year==VehicleStringArray[3],
Vi.Mileage==VehicleStringArray[4]
}).ToList();
にラムダ式を変更しました。私はこれが正しいかどうかわからない、それはまだ動作していないので、私は推測していない。
'VehicleIndex'には引数を持たないコンストラクタがありますか?そうでない場合は、「Select」投影内にコンストラクタを作成するか、コンストラクタを呼び出すことができます。 –
おっと、間違ったクラスを投稿しました。 –