忽略dll文件git
This commit is contained in:
@@ -1,74 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using Hncore.Infrastructure.Common;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Serialization;
|
||||
|
||||
namespace Hncore.Infrastructure.Serializer
|
||||
{
|
||||
public class NullToEmptyStringResolver : DefaultContractResolver
|
||||
{
|
||||
protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
|
||||
{
|
||||
return type.GetProperties()
|
||||
.Select(p =>
|
||||
{
|
||||
var jp = base.CreateProperty(p, memberSerialization);
|
||||
jp.ValueProvider = new NullToEmptyStringValueProvider(p);
|
||||
return jp;
|
||||
}).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
public class NullToEmptyStringValueProvider : IValueProvider
|
||||
{
|
||||
PropertyInfo _MemberInfo;
|
||||
|
||||
public NullToEmptyStringValueProvider(PropertyInfo memberInfo)
|
||||
{
|
||||
_MemberInfo = memberInfo;
|
||||
}
|
||||
|
||||
public object GetValue(object target)
|
||||
{
|
||||
object result = _MemberInfo.GetValue(target);
|
||||
if (_MemberInfo.PropertyType == typeof(string) && result == null)
|
||||
{
|
||||
result = "";
|
||||
}
|
||||
else if ((_MemberInfo.PropertyType == typeof(DateTime) || _MemberInfo.PropertyType == typeof(DateTime?)) &&
|
||||
result != null)
|
||||
{
|
||||
if (result.ToString() == "0001/1/1 0:00:00" || result.ToString() == "1000/1/1 0:00:00")
|
||||
{
|
||||
result = DateTimeHelper.SqlMinTime;
|
||||
}
|
||||
|
||||
DateTime time = Convert.ToDateTime(result);
|
||||
|
||||
if (time == DateTimeHelper.SqlMaxTime || time == DateTimeHelper.SqlMinTime || time == DateTime.MaxValue ||
|
||||
time == DateTime.MinValue)
|
||||
{
|
||||
result = "";
|
||||
}
|
||||
}
|
||||
else if (_MemberInfo.PropertyType.Name == "List`1" && result == null)
|
||||
{
|
||||
result = new List<object>();
|
||||
}
|
||||
else if (_MemberInfo.PropertyType.Name == "Object" && result == null)
|
||||
{
|
||||
result = new { };
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public void SetValue(object target, object value)
|
||||
{
|
||||
_MemberInfo.SetValue(target, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user