public virtual int GetIntValue()
{
switch(ValueType) {
case DataValueType.ByteBits:
{
int andValue = (1<<(endBit-startBit+1))-1;
return (data.GetIntValue(valueIndex)>>startBit)&andValue;
}
case DataValueType.ByteBit:
return (data.GetIntValue(valueIndex)>>startBit)&1;
default:
return data.GetIntValue(valueIndex);
}
}