• 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!
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 ".NET Generic constraints"

Collapse

  • lightng
    replied
    Originally posted by ASB View Post
    I've just knocked up a wrapper and pass it in to the instance I want. The problem with interfaces is that they are available on any further derived classes and I didn't want that either.
    Perhaps you need to use composition rather than inheritance then.

    Leave a comment:


  • ASB
    replied
    Originally posted by lightng View Post
    Strategy pattern?

    Not sure I understand but is it that you want to delegate work off to other classes so taking the first example, you create a new tool object and you tell it to do work. Now if your tool object is of type hammer, the doWork method, hammers, if its of type chisel, the doWork method chisels.

    If this is what you're after, interfaces are the way to go.

    Or have I got the wrong end of the stick (as usual).
    I've just knocked up a wrapper and pass it in to the instance I want. The problem with interfaces is that they are available on any further derived classes and I didn't want that either.

    Leave a comment:


  • lightng
    replied
    Strategy pattern?

    Not sure I understand but is it that you want to delegate work off to other classes so taking the first example, you create a new tool object and you tell it to do work. Now if your tool object is of type hammer, the doWork method, hammers, if its of type chisel, the doWork method chisels.

    If this is what you're after, interfaces are the way to go.

    Or have I got the wrong end of the stick (as usual).

    Leave a comment:


  • ASB
    replied
    Originally posted by voodooflux View Post
    Apologies if I've misunderstood, but you can have multiple constraints on a generic class: http://msdn.microsoft.com/en-us/libr...70(VS.80).aspx
    Yep I probably didn't make myself entirely clear. Don't seem to be able to have them in the way I want.

    Consider:-

    Public MustInherit Class message

    End Class

    Public MustInherit Class outputMessage
    Inherits message
    End Class

    Public Class out1
    Inherits outputMessage

    End Class

    Public Class out2
    Inherits outputMessage

    End Class

    Public MustInherit Class inputMessage
    Inherits message

    End Class

    Public Class in1
    Inherits inputMessage

    End Class

    Public Class in2
    Inherits inputMessage

    End Class

    Public Class Wibble(Of T As message)
    End Class

    What I want to be able to do (and I'm pretty sure I can't!) is

    Public Class Wibble(Of T As message where T is inputmessage or outputmessage)
    End Class

    The idea is to construct the class as:-

    dim o as new Wibble(inputMessage)
    dim o as new Wibble(outputMessage)

    I think a bit of refactoring is in order..

    Leave a comment:


  • voodooflux
    replied
    Originally posted by ASB View Post
    I can't do this because you can only have one constraint in a class class.
    Apologies if I've misunderstood, but you can have multiple constraints on a generic class: http://msdn.microsoft.com/en-us/libr...70(VS.80).aspx

    Leave a comment:


  • ASB
    started a topic .NET Generic constraints

    .NET Generic constraints

    I don't think I can do this but......

    I have a base Class - say "tool"

    I have a number of derived classes. Say, "hammer", "chisel", "screwdriver", "spanner"

    I want to create a generic class that will operate on a "hammer" or a "chisel".

    I can't do this because you can only have one constraint in a class class.

    The actual Inheritance looks like this:-

    Message

    OutputMessage - these I want to operate on
    out1
    out2
    .....

    InputMessage - these I want to operate on in the same way
    in1
    in2
    .....


    Any thoughts on my mission to push back the boundaries of good implementations?

Working...
X