简体   繁体   中英

How to define a multidimension array from different classes

I am trying to create object with values and a multidimensional array from a second classes. What I created:

class ProductData
    {
        private ProductPrices[] prices;
        public string ParentName { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public string TechnicalDescription { get; set; }
        public bool Obsolete { get; set; }
        public bool Deleted { get; set; }
        public string Innercarton { get; set; }
        public string Outercarton { get; set; }
        public string Package { get; set; }
        public string Barcode { get; set; }
        public decimal Weight { get; set; }
        public decimal EndUserPrice { get; set; }
        public int MOQ { get; set; }
        public bool ComingSoon { get; set; }
        public bool NewProduct { get; set; }
        public string Equivalent { get; set; }
        public string ReplacedBy { get; set; }
        public ProductPrices[] Prices
        {
            get
            {
                return prices;
            }
            set
            {
                prices = value;
            }
        }
        public List<ProductFeatures> Feature { get; set; }
        public List<string> Specification { get; set; }
        public List<string> Image { get; set; }
        public string File { get; set; }
        public string Icon { get; set; }

    }
    class ProductFeatures
    {
        public string Feature;
    }
    public class ProductPrices
    {
        public decimal Price;
        public int MinQuantity;
        public DateTime validuntil;
        public string currency;
    }

Now I would like to have for the ProductPrices an multidimensional array. So, at the end I would have something like this:

Dictionary<string, ProductData> productInfo = new Dictionary<string, ProductData>();
//Adding data to productInfo
string productName = productInfo.Name;
string description = productInfo.Description;
decimal wholesalePrice = productInfo.ProductPrices[0].Price;
int minQty = productInfo.ProductPrices[0].MinQuantity;

Somewhere I'm missing something. I've been searching around for hours trying to find it but unfortunally... Thanks in advance!

I already found it. Remove the private ProductPrices[] prices; and change the

public ProductPrices[] Prices
        {
            get
            {
                return prices;
            }
            set
            {
                prices = value;
            }
        } 

to public ProductPrices[] Prices { get; set; } public ProductPrices[] Prices { get; set; }

After that, you can do:

ProductData prData = new ProductData();
prData.ParentName = "Parent name";
prData.Name = "Some name";
prData.Prices = new ProductPrices[enterArrayCount];
ProductPrices prdPrices = new ProductPrices();
prdPrices.Price = Convert.ToDecimal(yourDecimalValue);
prdPrices.MinQuantity = 8;
prdPrices.Currency = "Eur";
prData.Prices[firstIndex] = prdPrices; //So firstIndex must increase after a value has been set. 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM