Nick Sabalausky wrote:
"Christopher Wright" <dhase...@gmail.com> wrote in message news:gv29vn$7a...@digitalmars.com...
Nick Sabalausky wrote:
"Christopher Wright" <dhase...@gmail.com> wrote in message news:gv0p4e$uv...@digitalmars.com...
Nick Sabalausky wrote:
I can see certain potential benefits to the general way C# does generics, but until the old (and I do mean old) issue of "There's an IComparable, so why the hell won't MS give us an IArithmetic so we can actually use arithmetic operators on generic code?" gets fixed (and at this point I'm convinced they've never had any intent of ever fixing that), I don't care how valid the reasoning behind C#'s general approach to generics is, the actual state of C#'s generics still falls squarely into the categories of "crap" and "almost useless".
IArithmetic is impossible in C# because operator overloads are static methods, and interfaces cannot specify static methods.
Then how does IComparable work?
It uses a member function instead.

And they can't do the same for arithmetic?

I believe the rationale for using static functions is so that you can add null to something. (The indexing operator, mind you, is a member property, so this doesn't always hold.) Additionally, this gets rid of opX_r.

In practice, I doubt anyone uses that. But it's too late to make that change.

Reply via email to