• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Reply to: Half baked ideas

Collapse

You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:

  • You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
  • You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
  • If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.

Previously on "Half baked ideas"

Collapse

  • doodab
    replied
    Originally posted by mudskipper View Post
    Is this why I see so many oompa loompas walking the streets?

    Leave a comment:


  • mudskipper
    replied

    Leave a comment:


  • doodab
    replied
    OK

    I have an interface Wotsit<T> { T doStuff(); }

    I want a factory method that returns a Wotsit for different types of T. It needs to support multiple types, lookup a wotsit based on the return type, and support runtime registration of new types and associated wotsits, so the factory method needs to take the return type as a parameter. I can do this as long as T isn't a generic type. Unfortunately I need it to support generic types.

    e.g. I can do this
    Wotsit<Blah> myWotsit = WotsitFactory.getWotsit(Blah.class);
    Blah result = myWotsit.doStuff();

    but this doesn't work

    Wotsit<List<Blah>> myWotsit = WotsitFactory.getWotsit(List<Blah>.class);
    List<Blah> result = myWotsit.doStuff();
    for (Blah blah : result) {
    ....

    Yes, I know I can use Object, but I don't want to, that defeats the point of using generics in the first place. I might as well be using ******* void *

    Can C# do this?

    What I can do is create a non generic class that implements List<Blah> and then use something like

    Wotsit<? extends List<Blah>> myWotsit = WotsitFactory.getWotsit(BlahList.class);

    What a PITA.

    Especially when you have List<BlahList> to deal with. One BlahListListListListList coming up.
    Last edited by doodab; 15 July 2013, 21:50.

    Leave a comment:


  • DimPrawn
    replied
    Lots of contracts porting Java to C#.

    I wonder why?

    Leave a comment:


  • mudskipper
    replied
    Originally posted by d000hg View Post
    I meant c#'s var...
    c# var keyword equivalent in java? - Stack Overflow

    Originally posted by eek View Post
    Java really doesn't do implicit types. The reason I added it was to show one of the advantages of C# in the fact it can handle implicit types and conversions without pain.

    Personally I hate them but then again I don't like Linq that much full stop. I'm very old school give me stored procedures any day.
    Edit: Or wot 'e sed.

    Leave a comment:


  • eek
    replied
    Originally posted by mudskipper View Post
    I fear we've missed eek's point, but don't know enough of Java to be sure.
    Java really doesn't do implicit types. The reason I added it was to show one of the advantages of C# in the fact it can handle implicit types and conversions without pain.

    Personally I hate them but then again I don't like Linq that much full stop. I'm very old school give me stored procedures any day.

    Leave a comment:


  • d000hg
    replied
    I meant c#'s var...

    Leave a comment:


  • mudskipper
    replied
    Originally posted by d000hg View Post
    Nah I don't like all the non-typed stuff either. It's a proper language, not bloody JS.
    I fear we've missed eek's point, but don't know enough of Java to be sure.

    Leave a comment:


  • d000hg
    replied
    Nah I don't like all the non-typed stuff either. It's a proper language, not bloody JS.

    Leave a comment:


  • mudskipper
    replied
    Originally posted by eek View Post
    surely that would be

    var loads = new List<StuffThatCSharpDoesBetterThanJava>();

    Although personally I curse resharper every time it suggests it.
    I only use var when it's too bloody complicated to work out what I'm getting back (Linq). Mebbe I should be more liberal.

    Leave a comment:


  • eek
    replied
    Originally posted by mudskipper View Post
    List<StuffThatCSharpDoesBetterThanJava> loads = new List<StuffThatCSharpDoesBetterThanJava>();
    surely that would be

    var loads = new List<StuffThatCSharpDoesBetterThanJava>();

    Although personally I curse resharper every time it suggests it.

    Leave a comment:


  • mudskipper
    replied
    Originally posted by d000hg View Post
    Indeed. C# on the other hand does it very nicely.
    List<StuffThatCSharpDoesBetterThanJava> loads = new List<StuffThatCSharpDoesBetterThanJava>();

    Leave a comment:


  • d000hg
    replied
    Originally posted by doodab View Post
    Don't you just love them.

    Java generics. Oh dear.
    Indeed. C# on the other hand does it very nicely.

    Leave a comment:


  • doodab
    started a topic Half baked ideas

    Half baked ideas

    Don't you just love them.

    Java generics. Oh dear.

Working...
X