Also fixed bug with indexer-property for `StandartResolver`.
This commit is contained in:
Родитель
7850de31cb
Коммит
dacf87339d
|
@ -785,6 +785,26 @@ namespace SharedData
|
||||||
[Key(0)]
|
[Key(0)]
|
||||||
public string OPQ { get; set; }
|
public string OPQ { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[MessagePackObject]
|
||||||
|
public class WithIndexer
|
||||||
|
{
|
||||||
|
[Key(0)]
|
||||||
|
public int Data1 { get; set; }
|
||||||
|
|
||||||
|
[Key(1)]
|
||||||
|
public string Data2 { get; set; }
|
||||||
|
|
||||||
|
[Key(2)]
|
||||||
|
public int this[int i] { get { return 0; } }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class WithIndexerContractless
|
||||||
|
{
|
||||||
|
public int Data1 { get; set; }
|
||||||
|
public string Data2 { get; set; }
|
||||||
|
public int this[int i] { get { return 0; } }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Abcdefg.Efcdigjl.Ateatatea.Hgfagfafgad
|
namespace Abcdefg.Efcdigjl.Ateatatea.Hgfagfafgad
|
||||||
|
|
|
@ -1295,6 +1295,7 @@ typeof(int), typeof(int) });
|
||||||
{
|
{
|
||||||
if (item.GetCustomAttribute<IgnoreMemberAttribute>(true) != null) continue;
|
if (item.GetCustomAttribute<IgnoreMemberAttribute>(true) != null) continue;
|
||||||
if (item.GetCustomAttribute<IgnoreDataMemberAttribute>(true) != null) continue;
|
if (item.GetCustomAttribute<IgnoreDataMemberAttribute>(true) != null) continue;
|
||||||
|
if (item.IsIndexer()) continue;
|
||||||
|
|
||||||
var member = new EmittableMember
|
var member = new EmittableMember
|
||||||
{
|
{
|
||||||
|
|
|
@ -76,14 +76,6 @@ namespace MessagePack.Tests
|
||||||
public int OAFADFZEWFSDFSDFKSLJFWEFNWOZFUSEWWEFWEWFFFFFFFFFFFFFFZFEWBFOWUEGWHOUDGSOGUDSZNOFRWEUFWGOWHOGHWOG000000000000000000000000000000000000000HOGZ { get; set; }
|
public int OAFADFZEWFSDFSDFKSLJFWEFNWOZFUSEWWEFWEWFFFFFFFFFFFFFFZFEWBFOWUEGWHOUDGSOGUDSZNOFRWEUFWGOWHOGHWOG000000000000000000000000000000000000000HOGZ { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class HasIndexer
|
|
||||||
{
|
|
||||||
public int Data1 { get; set; }
|
|
||||||
public string Data2 { get; set; }
|
|
||||||
|
|
||||||
public int this[int i] { get { return 0; } }
|
|
||||||
}
|
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void SimpleTest()
|
public void SimpleTest()
|
||||||
{
|
{
|
||||||
|
@ -194,19 +186,5 @@ namespace MessagePack.Tests
|
||||||
|
|
||||||
v.IsStructuralEqual(o);
|
v.IsStructuralEqual(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
|
||||||
public void IndexerCheck()
|
|
||||||
{
|
|
||||||
var o = new HasIndexer
|
|
||||||
{
|
|
||||||
Data1 = 15,
|
|
||||||
Data2 = "15"
|
|
||||||
};
|
|
||||||
var bin = MessagePack.MessagePackSerializer.Serialize(o, MessagePack.Resolvers.ContractlessStandardResolver.Instance);
|
|
||||||
var v = MessagePackSerializer.Deserialize<HasIndexer>(bin, MessagePack.Resolvers.ContractlessStandardResolver.Instance);
|
|
||||||
|
|
||||||
v.IsStructuralEqual(o);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -336,5 +336,33 @@ namespace MessagePack.Tests
|
||||||
re.MyProperty.Is(1000);
|
re.MyProperty.Is(1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void WithIndexer()
|
||||||
|
{
|
||||||
|
var o = new WithIndexer
|
||||||
|
{
|
||||||
|
Data1 = 15,
|
||||||
|
Data2 = "15"
|
||||||
|
};
|
||||||
|
var bin = MessagePack.MessagePackSerializer.Serialize(o, MessagePack.Resolvers.StandardResolver.Instance);
|
||||||
|
var v = MessagePackSerializer.Deserialize<WithIndexer>(bin, MessagePack.Resolvers.StandardResolver.Instance);
|
||||||
|
|
||||||
|
v.IsStructuralEqual(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void WithIndexerContractless()
|
||||||
|
{
|
||||||
|
var o = new WithIndexerContractless
|
||||||
|
{
|
||||||
|
Data1 = 15,
|
||||||
|
Data2 = "15"
|
||||||
|
};
|
||||||
|
var bin = MessagePack.MessagePackSerializer.Serialize(o, MessagePack.Resolvers.ContractlessStandardResolver.Instance);
|
||||||
|
var v = MessagePackSerializer.Deserialize<WithIndexerContractless>(bin, MessagePack.Resolvers.ContractlessStandardResolver.Instance);
|
||||||
|
|
||||||
|
v.IsStructuralEqual(o);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче