C # 2d dizi / yapı olarak php 2d array

2 Cevap

Ben bir liste için e-posta abone Mailchimp API'sini kullanarak ediyorum. Fonksiyon listsubscribe()-posta abonelik için kullanılır:

public static  listSubscribe(string apikey, string id, string email_address, array merge_vars, string email_type, boolean double_optin, boolean update_existing, boolean replace_interests, boolean send_welcome)

Ben onların API Mailchimp en yetkilisini .NET wrapper indirildi

Visual Studio ararken, bu aşırı işlevlerinden biridir:

listSubscribe(string apikey, string id, string email_address, MCMergeVar[] merges)

Ben MCMergeVar [] tanımı üzerine tıkladığınızda, bu çıkıyor:

[XmlRpcMissingMapping(MappingAction.Ignore)]
    public struct MCMergeVar
    {
        public string name;
        public bool req;
        [XmlRpcMissingMapping(MappingAction.Error)]
        public string tag;
        public string val;
    }

Mailchimp sitesinde bir php örnekte, bu merges değişkeni bildirilmeden nasıl:

$merge_vars = array('FNAME'=>'Test', 'LNAME'=>'Account', 'INTERESTS'=>'');

How to write this array correctly for my C# wrapper? I tried something like this:

MCMergeVar[] subMergeVars = new MCMergeVar[1];
subMergeVars["FNAME"] = "Test User";

Ama "FNAME" şimdi yerleştirilen bir yerde bir int gerektirir, bu yüzden bu işe yaramazsa ...

Thanks in advance, Ile

EDIT 1: I tried FoxFire's solution but no data from subMergeVars is passed to MailChimp server, only email is passed:

// Subscribe email to list
            string subID = "26973e52cc";
            string subEmail = "mymail@some.com.hr";
            MCMergeVar[] subMergeVars = new MCMergeVar[5];
            subMergeVars[0].name = "FNAME";
            subMergeVars[0].val = "FNDynamic";
            subMergeVars[1].name = "LNAME";
            subMergeVars[1].val = "LNDynamic";

            mailChimp.api.listSubscribe(subID, subEmail, subMergeVars, "html");

2 Cevap

Büyük olasılıkla:

MCMergeVar[] subMergeVars = new MCMergeVar[1]; 
subMergeVars[0].name = "FNAME"; 
subMergeVars[0].val = "Test User"; 

Deneyin:

var mergeVars = new List<MCMergeVar>();

mergeVars.Add(new MCMergeVar() { tag = "FNAME", val = "Test User First Name" });
mergeVars.Add(new MCMergeVar() { tag = "LNAME", val = "Test User Last Name" });

Sonra kullanımı:

mergeVars.ToArray()