Skip to content

Commit 734be6a

Browse files
committed
Removed the "T : new()" constraint from the IDeserializer.Deserialize<T> method
1 parent 40d2dce commit 734be6a

File tree

5 files changed

+8
-8
lines changed

5 files changed

+8
-8
lines changed

RestSharp/Deserializers/DotNetXmlDeserializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class DotNetXmlDeserializer : IDeserializer
3030

3131
public string RootElement { get; set; }
3232

33-
public T Deserialize<T>(IRestResponse response) where T : new()
33+
public T Deserialize<T>(IRestResponse response)
3434
{
3535
if (string.IsNullOrEmpty(response.Content))
3636
{

RestSharp/Deserializers/IDeserializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace RestSharp.Deserializers
1818
{
1919
public interface IDeserializer
2020
{
21-
T Deserialize<T>(IRestResponse response) where T : new();
21+
T Deserialize<T>(IRestResponse response);
2222
string RootElement { get; set; }
2323
string Namespace { get; set; }
2424
string DateFormat { get; set; }

RestSharp/Deserializers/JsonDeserializer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ public JsonDeserializer()
2020
Culture = CultureInfo.InvariantCulture;
2121
}
2222

23-
public T Deserialize<T>(IRestResponse response) where T : new()
23+
public T Deserialize<T>(IRestResponse response)
2424
{
25-
var target = new T();
25+
var target = Activator.CreateInstance<T>();
2626

2727
if (target is IList)
2828
{

RestSharp/Deserializers/XmlAttributeDeserializer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public XmlAttributeDeserializer()
3737
Culture = CultureInfo.InvariantCulture;
3838
}
3939

40-
public T Deserialize<T>(IRestResponse response) where T : new()
40+
public T Deserialize<T>(IRestResponse response)
4141
{
4242
if (response.Content == null)
4343
return default(T);
@@ -55,7 +55,7 @@ public XmlAttributeDeserializer()
5555
RemoveNamespace(doc);
5656
}
5757

58-
var x = new T();
58+
var x = Activator.CreateInstance<T>();
5959
var objType = x.GetType();
6060

6161
if (objType.IsSubclassOfRawGeneric(typeof(List<>)))

RestSharp/Deserializers/XmlDeserializer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public XmlDeserializer()
3838
Culture = CultureInfo.InvariantCulture;
3939
}
4040

41-
public T Deserialize<T>(IRestResponse response) where T : new()
41+
public T Deserialize<T>(IRestResponse response)
4242
{
4343
if (string.IsNullOrEmpty( response.Content ))
4444
return default(T);
@@ -56,7 +56,7 @@ public XmlDeserializer()
5656
RemoveNamespace(doc);
5757
}
5858

59-
var x = new T();
59+
var x = Activator.CreateInstance<T>();
6060
var objType = x.GetType();
6161

6262
if (objType.IsSubclassOfRawGeneric(typeof(List<>)))

0 commit comments

Comments
 (0)