Click here to Skip to main content
15,886,095 members
Home / Discussions / C#
   

C#

 
GeneralRe: Overloaded Methods with Generics Pin
BillWoodruff31-Mar-20 5:32
professionalBillWoodruff31-Mar-20 5:32 
GeneralRe: Overloaded Methods with Generics Pin
Richard Deeming31-Mar-20 8:51
mveRichard Deeming31-Mar-20 8:51 
GeneralRe: Overloaded Methods with Generics Pin
BillWoodruff31-Mar-20 11:49
professionalBillWoodruff31-Mar-20 11:49 
GeneralRe: Overloaded Methods with Generics Pin
Richard Andrew x6431-Mar-20 13:57
professionalRichard Andrew x6431-Mar-20 13:57 
GeneralRe: Overloaded Methods with Generics Pin
Richard Deeming1-Apr-20 0:04
mveRichard Deeming1-Apr-20 0:04 
GeneralRe: Overloaded Methods with Generics Pin
BillWoodruff1-Apr-20 2:07
professionalBillWoodruff1-Apr-20 2:07 
GeneralRe: Overloaded Methods with Generics Pin
Richard Deeming1-Apr-20 2:13
mveRichard Deeming1-Apr-20 2:13 
GeneralRe: Overloaded Methods with Generics Pin
Richard Deeming1-Apr-20 0:15
mveRichard Deeming1-Apr-20 0:15 
Not as far as I can see.
C#
public static void Foo<T>(IEnumerable<T> value) => Console.WriteLine($"Foo<{typeof(T)}>(IEnumerable<{typeof(T)}>)";
public static void Foo<T>(params T[] value) => Console.WriteLine($"Foo<{typeof(T)}>(params {typeof(T)}[])";

public static void Bar()
{
    Foo(42); // Foo<int>(params) - Correct
    Foo(Enumerable.Range(1, 42)); // Foo<int>(IEnumerable) - Correct
    Foo(new[] { 1, 2, 3 }); // Foo<int>(params) - Correct
    Foo(new List<int> { 1, 2, 3 }); // Foo<List<int>>(params) - *** INCORRECT ***
}
Generic Overload Resolution 2 | C# Online Compiler | .NET Fiddle[^]

If you pass a List<> to the method, it calls the params overload passing the entire list as the first parameter. The type parameter will be List<>, not the type of the list's elements.



"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer

GeneralRe: Overloaded Methods with Generics Pin
#realJSOP31-Mar-20 23:26
mve#realJSOP31-Mar-20 23:26 
AnswerRe: Overloaded Methods with Generics Pin
James Curran7-Apr-20 4:48
James Curran7-Apr-20 4:48 
QuestionWpf Excel Pin
RajaMohammed.A26-Mar-20 3:55
RajaMohammed.A26-Mar-20 3:55 
AnswerRe: Wpf Excel Pin
Richard MacCutchan26-Mar-20 4:12
mveRichard MacCutchan26-Mar-20 4:12 
AnswerRe: Wpf Excel Pin
jsc422-Apr-20 2:58
professionaljsc422-Apr-20 2:58 
QuestionC# Oracle SYSDBA connection string not able to working on windows 10? Pin
barathsamkumar25-Mar-20 4:39
barathsamkumar25-Mar-20 4:39 
AnswerRe: C# Oracle SYSDBA connection string not able to working on windows 10? Pin
OriginalGriff25-Mar-20 5:13
mveOriginalGriff25-Mar-20 5:13 
AnswerRe: C# Oracle SYSDBA connection string not able to working on windows 10? Pin
ZurdoDev25-Mar-20 10:07
professionalZurdoDev25-Mar-20 10:07 
QuestionUser List Pin
Richard Andrew x6423-Mar-20 10:40
professionalRichard Andrew x6423-Mar-20 10:40 
AnswerRe: User List Pin
Luc Pattyn23-Mar-20 16:25
sitebuilderLuc Pattyn23-Mar-20 16:25 
GeneralRe: User List Pin
Richard Andrew x6424-Mar-20 2:06
professionalRichard Andrew x6424-Mar-20 2:06 
GeneralRe: User List Pin
Dave Kreskowiak25-Mar-20 4:13
mveDave Kreskowiak25-Mar-20 4:13 
AnswerRe: User List Pin
Randor 25-Mar-20 5:11
professional Randor 25-Mar-20 5:11 
GeneralRe: User List Pin
Richard Andrew x6425-Mar-20 5:33
professionalRichard Andrew x6425-Mar-20 5:33 
GeneralRe: User List Pin
Randor 25-Mar-20 6:10
professional Randor 25-Mar-20 6:10 
GeneralRe: User List Pin
Richard Andrew x6425-Mar-20 6:22
professionalRichard Andrew x6425-Mar-20 6:22 
GeneralRe: User List Pin
Randor 25-Mar-20 8:38
professional Randor 25-Mar-20 8:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.