Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. Visual Basic
  4. How to disable Type inference for generic procedures ?

How to disable Type inference for generic procedures ?

Scheduled Pinned Locked Moved Visual Basic
helptutorialquestion
2 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    Ky Nam
    wrote on last edited by
    #1

    Hello Thought I turn off option Type inference , I still has problem

    Shared Sub Abc(Of T)(ByVal def As T)
    End Sub
    
    Shared Sub Abc(ByVal def As Object)
    End Sub
    
    Shared Sub New()
         Abc("a string") '---> this line always calls Abc(Of String)(ByVal def As String)
        'I really don't want to change existing code to Abc(CObj(""))
    End Sub
    
    D 1 Reply Last reply
    0
    • K Ky Nam

      Hello Thought I turn off option Type inference , I still has problem

      Shared Sub Abc(Of T)(ByVal def As T)
      End Sub
      
      Shared Sub Abc(ByVal def As Object)
      End Sub
      
      Shared Sub New()
           Abc("a string") '---> this line always calls Abc(Of String)(ByVal def As String)
          'I really don't want to change existing code to Abc(CObj(""))
      End Sub
      
      D Offline
      D Offline
      Dave Kreskowiak
      wrote on last edited by
      #2

      You don't have a choice. Think of it this way... The compiler is going to automatically generate code specific to each type that uses this method. If you leave this setup the way it is, the method defined as ByVal def As Object will only be called when you pass something boxed in an Object type. Every other type will go to the generic version of the method.

      A guide to posting questions on CodeProject[^]
      Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
           2006, 2007

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups