本文整理汇总了C#中SerializationReader.ReadOptimizedBitVector32方法的典型用法代码示例。如果您正苦于以下问题:C# SerializationReader.ReadOptimizedBitVector32方法的具体用法?C# SerializationReader.ReadOptimizedBitVector32怎么用?C# SerializationReader.ReadOptimizedBitVector32使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SerializationReader
的用法示例。
在下文中一共展示了SerializationReader.ReadOptimizedBitVector32方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DeserializeStateBag
public static StateBag DeserializeStateBag(SerializationReader reader)
{
var flags = reader.ReadOptimizedBitVector32();
var stateBag = new StateBag(flags[StateBagIsIgnoreCase]);
if (flags[StateBagHasDirtyEntries])
{
var count = reader.ReadOptimizedInt32();
for(var i = 0; i < count; i++)
{
var key = reader.ReadOptimizedString();
var value = reader.ReadObject();
// ReSharper disable PossibleNullReferenceException
stateBag.Add(key, value).IsDirty = true;
// ReSharper restore PossibleNullReferenceException
}
}
if (flags[StateBagHasCleanEntries])
{
var count = reader.ReadOptimizedInt32();
for(var i = 0; i < count; i++)
{
var key = reader.ReadOptimizedString();
var value = reader.ReadObject();
stateBag.Add(key, value);
}
}
return stateBag;
}
示例2: DeserializeColor
public static Color DeserializeColor(SerializationReader reader)
{
var flags = reader.ReadOptimizedBitVector32();
if (flags[ColorIsKnown]) return Color.FromKnownColor((KnownColor) reader.ReadOptimizedInt32());
if (flags[ColorHasName]) return Color.FromName(reader.ReadOptimizedString());
if (!flags[ColorHasValue]) return Color.Empty;
var red = flags[ColorHasRed] ? reader.ReadByte() : (byte) 0;
var green = flags[ColorHasGreen] ? reader.ReadByte() : (byte) 0;
var blue = flags[ColorHasBlue] ? reader.ReadByte() : (byte) 0;
var alpha = flags[ColorHasAlpha] ? reader.ReadByte() : (byte) 0;
return Color.FromArgb(alpha, red, green, blue);
}
示例3: DeserializeUnit
public static Unit DeserializeUnit(SerializationReader reader)
{
var state = reader.ReadOptimizedBitVector32();
var unitType = state[UnitType];
if (unitType == 0) return Unit.Empty;
if (state[UnitIsDoubleValue]) return new Unit(reader.ReadDouble(), (UnitType) unitType);
if (state[UnitIsZeroValue] == 1) return new Unit(0, (UnitType) unitType);
var integerValue = state[UnitIsOptimizedValue] == 1 ? reader.ReadOptimizedInt32() : reader.ReadInt16();
if (state[UnitIsNegativeValue] == 1) integerValue = -integerValue - 1;
return new Unit(integerValue, (UnitType) unitType);
}
示例4: DeserializeStateBag
public static StateBag DeserializeStateBag(SerializationReader reader)
{
BitVector32 flags = reader.ReadOptimizedBitVector32();
StateBag stateBag = new StateBag(flags[StateBagIsIgnoreCase]);
if (flags[StateBagHasDirtyEntries])
{
int count = reader.ReadOptimizedInt32();
for(int i = 0; i < count; i++)
{
string key = reader.ReadOptimizedString();
object value = reader.ReadObject();
stateBag.Add(key, value).IsDirty = true;
}
}
if (flags[StateBagHasCleanEntries])
{
int count = reader.ReadOptimizedInt32();
for(int i = 0; i < count; i++)
{
string key = reader.ReadOptimizedString();
object value = reader.ReadObject();
stateBag.Add(key, value);
}
}
return stateBag;
}
示例5: DeserializeUnit
public static Unit DeserializeUnit(SerializationReader reader)
{
BitVector32 state = reader.ReadOptimizedBitVector32();
int unitType = state[UnitType];
if(unitType == 0)
return System.Web.UI.WebControls.Unit.Empty;
else if(state[UnitIsDoubleValue])
return new Unit(reader.ReadDouble(), (UnitType) unitType);
else if(state[UnitIsZeroValue] == 1)
return new Unit(0, (UnitType) unitType);
else
{
int integerValue = state[UnitIsOptimizedValue] == 1 ? reader.ReadOptimizedInt32() : reader.ReadInt16();
if(state[UnitIsNegativeValue] == 1) integerValue = -integerValue - 1;
return new Unit(integerValue, (UnitType) unitType);
}
}
示例6: DeserializeDataSet
public DataSet DeserializeDataSet(DataSet dataSet, byte[] serializedData)
{
this.dataSet = dataSet;
reader = new SerializationReader(serializedData);
dataSet.EnforceConstraints = false;
BitVector32 flags = reader.ReadOptimizedBitVector32();
if (flags[DataSetHasName]) dataSet.DataSetName = reader.ReadOptimizedString();
dataSet.Locale = new CultureInfo(reader.ReadOptimizedInt32());
dataSet.CaseSensitive = flags[DataSetIsCaseSensitive];
if (flags[DataSetHasNamespace]) dataSet.Namespace = reader.ReadOptimizedString();
if (flags[DataSetHasPrefix]) dataSet.Prefix = reader.ReadOptimizedString();
if (flags[DataSetHasTables]) deserializeTables();
if (flags[DataSetHasForeignKeyConstraints]) deserializeForeignKeyConstraints();
if (flags[DataSetHasRelationships]) deserializeRelationships();
if (flags[DataSetHasExtendedProperties]) deserializeExtendedProperties(dataSet.ExtendedProperties);
dataSet.EnforceConstraints = flags[DataSetAreConstraintsEnabled];
throwIfRemainingBytes();
return dataSet;
}
示例7: DeserializeOrder
public static MarketOrder DeserializeOrder(SerializationReader reader)
{
var deal = new MarketOrder
{
ID = reader.ReadInt32(),
AccountID = reader.ReadInt32(),
Comment = reader.ReadString(),
ExitReason = (PositionExitReason)reader.ReadInt16(),
ExpertComment = reader.ReadString(),
PriceEnter = reader.ReadSingle(),
ResultDepo = reader.ReadSingle(),
ResultPoints = reader.ReadSingle(),
Side = reader.ReadSByte(),
State = (PositionState) reader.ReadInt16(),
Symbol = reader.ReadString(),
TimeEnter = reader.ReadDateTime(),
Trailing = reader.ReadString(),
Volume = reader.ReadInt32(),
VolumeInDepoCurrency = reader.ReadSingle()
};
// nullable values
var flags = reader.ReadOptimizedBitVector32();
if (flags[magicIsValued])
deal.Magic = reader.ReadInt32();
if (flags[pendingOrderIdIsValued])
deal.PendingOrderID = reader.ReadInt32();
if (flags[priceBestIsValued])
deal.PriceBest = reader.ReadSingle();
if (flags[priceExitIsValued])
deal.PriceExit = reader.ReadSingle();
if (flags[priceWorstIsValued])
deal.PriceWorst = reader.ReadSingle();
if (flags[stopLossIsValued])
deal.StopLoss = reader.ReadSingle();
if (flags[swapIsValued])
deal.Swap = reader.ReadSingle();
if (flags[takeProfitIsValued])
deal.TakeProfit = reader.ReadSingle();
if (flags[timeExitIsValued])
deal.TimeExit = reader.ReadDateTime();
return deal;
}