添加对 Core 的直接引用

This commit is contained in:
OLDREDSTONE
2025-03-25 15:49:57 +08:00
parent 24907abedb
commit 06c19bf10a
296 changed files with 24961 additions and 2 deletions
@@ -0,0 +1,36 @@
using Microsoft.VisualBasic.CompilerServices;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RhythmBase.Components;
using RhythmBase.Extensions;
namespace RhythmBase.Converters
{
internal class ExpressionConverter : JsonConverter<RDExpression>
{
public override void WriteJson(JsonWriter writer, RDExpression value, JsonSerializer serializer)
{
if (value.IsNumeric)
{
writer.WriteRawValue(value.NumericValue.ToString());
}
else
{
if (value.ExpressionValue.IsNullOrEmpty())
{
writer.WriteNull();
}
else
{
writer.WriteValue(string.Format("{{{0}}}", value.ExpressionValue));
}
}
}
public override RDExpression ReadJson(JsonReader reader, Type objectType, RDExpression existingValue, bool hasExistingValue, JsonSerializer serializer)
{
string js = JToken.ReadFrom(reader).ToObject<string>() ?? throw new RhythmBase.Exceptions.ConvertingException("Cannot read the expression.");
RDExpression ReadJson = new(js.TrimStart('{').TrimEnd('}'));
return ReadJson;
}
}
}