Click here to Skip to main content
15,923,164 members
Home / Discussions / C#
   

C#

 
AnswerRe: Get names for all opened Workbook Pin
Richard MacCutchan2-Apr-20 5:50
mveRichard MacCutchan2-Apr-20 5:50 
QuestionEditor, Visualization, C# Pin
Calin Negru1-Apr-20 4:29
Calin Negru1-Apr-20 4:29 
AnswerRe: Editor, Visualization, C# Pin
#realJSOP1-Apr-20 4:51
professional#realJSOP1-Apr-20 4:51 
GeneralRe: Editor, Visualization, C# Pin
Calin Negru1-Apr-20 5:15
Calin Negru1-Apr-20 5:15 
GeneralRe: Editor, Visualization, C# Pin
Dave Kreskowiak1-Apr-20 5:29
mveDave Kreskowiak1-Apr-20 5:29 
AnswerRe: Editor, Visualization, C# Pin
Richard MacCutchan1-Apr-20 22:18
mveRichard MacCutchan1-Apr-20 22:18 
GeneralRe: Editor, Visualization, C# Pin
Calin Negru1-Apr-20 22:49
Calin Negru1-Apr-20 22:49 
QuestionEuropean Car plate recognition Pin
Member 1478897131-Mar-20 22:20
Member 1478897131-Mar-20 22:20 
AnswerRe: European Car plate recognition Pin
OriginalGriff31-Mar-20 22:42
mveOriginalGriff31-Mar-20 22:42 
QuestionMemory Management in Unit Testing Pin
User-862169531-Mar-20 19:20
User-862169531-Mar-20 19:20 
AnswerRe: Memory Management in Unit Testing Pin
Richard MacCutchan31-Mar-20 21:04
mveRichard MacCutchan31-Mar-20 21:04 
AnswerRe: Memory Management in Unit Testing Pin
Pete O'Hanlon1-Apr-20 0:24
mvePete O'Hanlon1-Apr-20 0:24 
AnswerRe: Memory Management in Unit Testing Pin
F-ES Sitecore1-Apr-20 1:38
professionalF-ES Sitecore1-Apr-20 1:38 
QuestionReference Types v. Value Types Pin
Richard Andrew x6431-Mar-20 10:52
professionalRichard Andrew x6431-Mar-20 10:52 
AnswerRe: Reference Types v. Value Types Pin
OriginalGriff31-Mar-20 11:42
mveOriginalGriff31-Mar-20 11:42 
AnswerRe: Reference Types v. Value Types Pin
BillWoodruff31-Mar-20 12:31
professionalBillWoodruff31-Mar-20 12:31 
GeneralRe: Reference Types v. Value Types Pin
Richard Andrew x6431-Mar-20 13:38
professionalRichard Andrew x6431-Mar-20 13:38 
GeneralRe: Reference Types v. Value Types Pin
BillWoodruff31-Mar-20 18:38
professionalBillWoodruff31-Mar-20 18:38 
AnswerRe: Reference Types v. Value Types Pin
F-ES Sitecore1-Apr-20 1:19
professionalF-ES Sitecore1-Apr-20 1:19 
GeneralRe: Reference Types v. Value Types Pin
Richard Deeming1-Apr-20 2:20
mveRichard Deeming1-Apr-20 2:20 
GeneralRe: Reference Types v. Value Types Pin
F-ES Sitecore1-Apr-20 2:38
professionalF-ES Sitecore1-Apr-20 2:38 
QuestionOverloaded Methods with Generics Pin
#realJSOP30-Mar-20 5:52
professional#realJSOP30-Mar-20 5:52 
AnswerRe: Overloaded Methods with Generics Pin
OriginalGriff30-Mar-20 6:34
mveOriginalGriff30-Mar-20 6:34 
GeneralRe: Overloaded Methods with Generics Pin
#realJSOP30-Mar-20 6:50
professional#realJSOP30-Mar-20 6:50 
GeneralRe: Overloaded Methods with Generics Pin
OriginalGriff30-Mar-20 8:28
mveOriginalGriff30-Mar-20 8:28 
Strange - it works for me:
C#
public void DoSomething()
    {
    MyClass m = new MyClass();
    List<MyClass> list = new List<MyClass>() { m };
    Console.WriteLine($"{ProcessDepending(list)}, {ProcessDepending(m)}");
    }
public int ProcessDepending<T>(T instance)
    {
    if (instance is System.Collections.IEnumerable collection)
        {
        return ProcessCollection(collection);
        }
    return ProcessInstance(instance);
    }

private int ProcessInstance<T>(T instance)
    {
    return 1;
    }

private int ProcessCollection(IEnumerable collection)
    {
    return 2;
    }

private class MyClass { }
I get 2, 1 as I expected.

The only thing I can't figure out is a way to get the collection in a form that I can define this:
C#
private int ProcessCollection<T>(IEnumerable<T> collection)
Because I can't get at the type of the collection objects at compile time ...
I can do this though:
C#
public int ProcessDepending<T>(T instance)
    {
    if (instance is IEnumerable<object> collection)
        {
        return ProcessCollection<object>(collection);
        }
    return ProcessInstance(instance);
    }

private int ProcessCollection<T>(IEnumerable<T> collection)
    {
    return 2;
    }
And it'll work. Messy ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!

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.