Может кто-нибудь объяснить, почему я получил System.ArgumentException
? код: C# dataRow access throw a System.ArgumentException
var dsResult = new SecurityYieldsData();//DataSet
var syData = (SecurityYieldsData)base.PrepareCAData(ctx, swiftMessage, caData);
SecurityYieldOptionsData optionsData = GetCaOption(ctx, syData.SecurityYields[0], message.Body);
syData.Merge(optionsData);
dsResult.Merge(syData);
var temp1 = (SecurityYieldOptionsData.SecurityYieldOptionsDataTable)manager.SecurityYieldOptions().GetTable(dsResult);
var temp2 = (SecurityYieldOptionsData.SecurityYieldOptionsDataTable)manager.SecurityYieldOptions().GetTable(dsResult).Copy();
int t1 = temp1[0].OptionNumber;//'temp1[0].OptionNumber' threw an exception of type 'System.ArgumentException'
int t1_1 = Convert.ToInt32(temp1[0]["OptionNumber"]);// Ok
int t2 = temp2[0].OptionNumber;// Ok
int t3 = optionsData.SecurityYieldOptions[0].OptionNumber;// Ok
В DataSet Visualizer из temp1 и Temp2 я могу видеть, что данные существуют, но в случае, если t1 я Exeption, если создать копию temp1 Он отлично работает (см temp2).
вы обязательно используйте 'var' много. Это плохая практика. Какой тип данных 't1'? – tnw
Вы получаете сообщение об исключении? –
tnm: в моем случае OptionNumber is int – driver