Core: fix parse

This commit is contained in:
pavelbannov 2020-12-11 13:34:23 +03:00
parent d00d13bb8f
commit 2bb8502526

View File

@ -98,26 +98,23 @@ namespace ASC.Common.Threading
public T GetProperty<T>(string name) public T GetProperty<T>(string name)
{ {
var val = DistributedTaskCache.Props.FirstOrDefault(r => r.Key == name); var prop = DistributedTaskCache.Props.FirstOrDefault(r => r.Key == name);
if (val == null) return default; if (prop == null) return default;
var resType = typeof(T); var resType = typeof(T);
object result = val.Value; var val = prop.Value.Trim('"');
object result = val;
if(resType == typeof(Guid)) if(resType == typeof(Guid))
{ {
result = Guid.Parse(val.Value.Trim('"')); result = Guid.Parse(val);
} }
else if(resType.IsEnum) else if(resType.IsEnum)
{ {
Enum.TryParse(resType, val.Value, out var e); Enum.TryParse(resType, val, out var e);
result = e; result = e;
} }
else if (resType == typeof(bool))
{
result = bool.Parse(val.Value);
}
return (T)Convert.ChangeType(result, resType); return (T)Convert.ChangeType(result, resType);
} }