一个函数根据输入参数的不同返回不同的数据类型,那函数怎么定义呢??
Public Function GetNewsByTitlePager(ByVal NewsTitle As string,ByVal DoCount As Boolean) As SqlDataReader

解决方案 »

  1.   

    我举例给你说一下:Public Function GetStr(ByVal strT as string) as boolean
         if strT="我爱你" then
            return true
         else
            return false
        end if
    End Function这是一个简单的方法啊。你看到了吗?返回的return ture,false都是boolean类型的,也就是方法返回值的类型,所以如果方法返回的类型你设置什么,你return 的类型也要跟方法的类型一样。
      

  2.   

    VB的不知道如何实现,但C#里面是采用重载的方式实现的,也就是写多个相同名字的函数,传递不同的参数,得到不同的结果.
      

  3.   

    返回一个Object对象,等于是把结果装箱。
      

  4.   

    上面两个星星说的都是错的。lxhvc正解:返回object类型。至于重载,vb.net和c#都是重载;但只能做到针对不同的输入参数syntax,也就是说,不是参数值的不同,而是参数类型或者数目的不同,定义同名的方法,分别返回不同类型的返回值;对于同样数目、顺序、类型的参数输入,仅仅根据参数值的不同,要返回不同类型的结果的话,只能用object
      

  5.   

    返回 OBJECT, 然后自己 UNBOXING 得到相应的类型
      

  6.   

    to athossmth(athos)
    惭愧,受教了.你是对的
    主要没有经过实践就回答,确实有时候会出错.对不起.
      

  7.   

    谢谢各位,
    我想是问题没有讲清楚我是看了webdiyer的分页控件,我自己在学习的时候想到的问题,因为根据他的分页存储过程,当docount是1的时候返回的是所有记录的总数,docount是0的时候,返回分页记录集,
    我在dal层接收这些返回值的时候,我想用一个函数根据不同的参数调用这个存储过程,从而得到不同返回值,我想是要自己定义一个class,这个函数返回这个class,这个class可以包含两种不同数据类型值,即存储过程返回的两种不同类型的值.我现在的做法是写了两个函数,分别对应不同的参数,得到不同的结果,再次谢谢各位热心的解答.