0

サブクラスを作成する方法がわかりません...

これらは私が持っているクラスです:

public class Item
{
    public Meta meta { get; set; }
    public Items[] objects { get; set; }
}

public class Meta
{
    public int limit { get; set; }
    public object next { get; set; }
    public int offset { get; set; }
    public object previous { get; set; }
    public int total_count { get; set; }
}

public class Items
{
    public Additionalprices additionalPrices { get; set; }
    public string barcode { get; set; }
    public Category category { get; set; }
    public int categoryPosition { get; set; }
    public string cdate { get; set; }
    public DateTime ctime { get; set; }
    public DateTime ctimeOnServer { get; set; }
    public Dimensions dimensions { get; set; }
    public string entityType { get; set; }
    public object imageURL { get; set; }
    public object[] imageURLs { get; set; }
    public string longDesc { get; set; }
    public string manufacturer { get; set; }
    public int minQty { get; set; }
    public DateTime mtime { get; set; }
    public DateTime mtimeOnServer { get; set; }
    public int multQty { get; set; }
    public string name { get; set; }
    public int objID { get; set; }
    public string owner { get; set; }
    public string resource_uri { get; set; }
    public string sku { get; set; }
    public object thumbnailURL { get; set; }
    public object[] thumbnailURLs { get; set; }
    public string unitPrice { get; set; }
    public string uuid { get; set; }
    public Variant[] variants { get; set; }
}

ダミーオブジェクトを追加したい...

これは私が持っているコードです...

// Create a dummy Category
HandShake_Classes.Category categoryToUpload = new HandShake_Classes.Category();

categoryToUpload.name = "Trev Category";

// Create a dummy Item
HandShake_Classes.Item itemToUpload = new HandShake_Classes.Item();

// THIS IS WHERE MY PROBLEM IS...
itemToUpload.objects = new HandShake_Classes.Items();
// THE ERROR I AM GETTING IS Error  2   Cannot implicitly convert type 'handshake.com.HandShake_Classes.Items' to 'handshake.com.HandShake_Classes.Items[]'

// Only populate required fields at the moment
itemToUpload.objects[0].sku = "ljklj";
itemToUpload.objects[0].name = "Trevs Product";
itemToUpload.objects[0].unitPrice = "1.23";
itemToUpload.objects[0].minQty = 1;
itemToUpload.objects[0].category = categoryToUpload;

Items[] の定義方法がわかりません

誰かが私を正しい方向に向けることができますか?

ありがとう

4

2 に答える 2

2

最初に配列を初期化する必要があります。10個のアイテムが必要だとしましょう:

itemToUpload.objects = new HandShake_Classes.Items[10];

そして、すべての配列項目を新しいItems()インスタンスに設定できます:

itemToUpload.objects[0] = new HandShake_Classes.Items();
itemToUpload.objects[0].sku = "ljklj";
itemToUpload.objects[0].name = "Trevs Product";
itemToUpload.objects[0].unitPrice = "1.23";
itemToUpload.objects[0].minQty = 1;
itemToUpload.objects[0].category = categoryToUpload;

明確にするために、プロパティで処理する必要がある項目の数がわからない場合は、配列の代わりにobject変更することを検討する必要があります。List<Items>Items[]

itemToUpload.objects = new List<HandShake_Classes.Items>();

var newItem = new HandShake_Classes.Items();
newItem = new HandShake_Classes.Items();
newItem.sku = "ljklj";
newItem.name = "Trevs Product";
newItem.unitPrice = "1.23";
newItem.minQty = 1;
newItem.category = categoryToUpload;

itemToUpload.objects.Add(newItem);
于 2013-10-09T09:25:08.920 に答える
1

タイプ項目の配列を次のようにインスタンス化します

itemToUpload.objects = new HandShake_Classes.Items[10];

このインスタンス化の後、オブジェクトのすべてのインデックスをインスタンス化する必要があります。

例えば

itemToUpload.objects[i] = new HandShake_Classes.Items();

これは、単一のオブジェクトをインスタンス化し、そのオブジェクトがインデックス 'i' の配列にあることを意味します。

Items次に、次のように記述して、オブジェクト配列のプロパティを設定できます。

itemToUpload.objects[i].barcode

関数を呼び出すことさえ

itemToUpload.objects[i].CalculateTax()

同様に、定義されている場合は任意のコンストラクターを使用できます。

于 2013-10-09T09:31:58.800 に答える