-
Notifications
You must be signed in to change notification settings - Fork 4.6k
/
MyResolver.cs
27 lines (23 loc) · 1.05 KB
/
MyResolver.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using System;
using System.Runtime.Serialization;
using System.Xml;
internal class MyResolver : DataContractResolver
{
public bool ResolveNameInvoked = false;
public bool TryResolveTypeInvoked = false;
public bool DeclaredTypeIsNotNull = false;
public override Type ResolveName(string typeName, string typeNamespace, Type declaredType, DataContractResolver knownTypeResolver)
{
ResolveNameInvoked = true;
DeclaredTypeIsNotNull = declaredType != null;
return knownTypeResolver.ResolveName(typeName, typeNamespace, declaredType, null);
}
public override bool TryResolveType(Type type, Type declaredType, DataContractResolver knownTypeResolver,
out XmlDictionaryString typeName, out XmlDictionaryString typeNamespace)
{
TryResolveTypeInvoked = true;
return knownTypeResolver.TryResolveType(type, declaredType, null, out typeName, out typeNamespace);
}
}