public override void Load(ILGenerator generator)
{
if (Value == null)
{
generator.Emit(OpCodes.Ldnull);
}
else if (DataType == typeof (Int32))
{
generator.Emit(OpCodes.Ldc_I4, (Int32) Value);
}
else if (DataType == typeof (Int64))
{
generator.Emit(OpCodes.Ldc_I8, (Int64) Value);
}
else if (DataType == typeof (float))
{
generator.Emit(OpCodes.Ldc_R4, (float) Value);
}
else if (DataType == typeof (double))
{
generator.Emit(OpCodes.Ldc_R8, (double) Value);
}
else if (DataType == typeof (string))
{
generator.Emit(OpCodes.Ldstr, (string) Value);
}
else if (DataType == typeof (bool))
{
if ((bool) Value)
{
generator.Emit(OpCodes.Ldc_I4_1);
}
else
{
generator.Emit(OpCodes.Ldc_I4_0);
}
}
}