本文整理汇总了C#中Setting.AddValue方法的典型用法代码示例。如果您正苦于以下问题:C# Setting.AddValue方法的具体用法?C# Setting.AddValue怎么用?C# Setting.AddValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Setting
的用法示例。
在下文中一共展示了Setting.AddValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParseBinary
//TODO: clean dis
private void ParseBinary(byte[] buf)
{
var p = 8;
//var version = BitConverter.ToInt32(buf, p); p += 4;
//not used, change the first offset to 4 if reenabled
var strTableOffset = BitConverter.ToInt32(buf, p); p += 4;
while (p < buf.Length && p < strTableOffset)
{
int sectionStrOffset = BitConverter.ToInt16(buf, p); p += 2;
int sectionNumEntries = BitConverter.ToInt16(buf, p); p += 2;
string sectionName = BufToString(buf, strTableOffset + sectionStrOffset);
var section = new Section(sectionName);
Sections.Add(section);
while (sectionNumEntries-- > 0)
{
int entryStrOffset = BitConverter.ToInt16(buf, p); p += 2;
int entryNumValues = buf[p++];
var set = new Setting(BufToString(buf, strTableOffset + entryStrOffset));
//string desc = fileName + ":0x" + p.ToString("x") + " '" + settingName + "'";
//object[] values = new object[entryNumValues];
for (var currentValue = 0; currentValue < entryNumValues; currentValue++)
{
int valueType = buf[p++];
var value = BitConverter.ToInt32(buf, p); p += 4;
switch (valueType)
{
case 1: // Integer
set.AddValue(value.ToString(CultureInfo.InvariantCulture));
break;
case 2: // Float
set.AddValue(BitConverter.ToString(buf, p - 4));
break;
case 3: // String
set.AddValue(BufToString(buf, strTableOffset + value));
break;
default:
throw new Exception("Unexpected value type at offset=" + (p - 1));
}
}
section.Settings.Add(set);
}
}
}