none
class的名稱跟 跟另一個class 內的 function名稱相同 該怎麼呼叫 RRS feed

  • 問題

  • class的名稱跟 跟另一個class 內的 function名稱相同 該怎麼呼叫

    如有  Class Read                         跟Class  Common

    但Class Read 內又有一個 function 名稱剛好也叫Common

    我現在在Class Read 內的另一個function 名稱叫temp內  呼叫 class  common來使用

    它都會一直指到class read 的 common

    我有很多方法能解決   如直接copy "temp"到 class read

    但除了這個方法外  沒其它的嗎    如指定本身的class 不是 me.XXX  

    所以我想問的是有相同功能的嗎

    謝謝

    2011年10月19日 上午 08:02

解答

  • 不是很瞭..因為我像以下這樣測試是行的, .NET程式基本上如果在區塊內宣告變數, 在該區塊會以區塊內宣告的變數為優先才對.

    Public Class Class1
     
        Public Sub test()
            MessageBox.Show("Test")
        End Sub
     
        Public Sub y()
            Dim test As New Class2
            test.TYY()
        End Sub
     
        Public Sub z()
            test()
        End Sub
    End Class

     

    Public Class Class2
        Public Sub TYY()
            MessageBox.Show("TYY")
        End Sub
    End Class
    

     

    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
            Dim c As New Class1
            c.y()
            c.z()
        End Sub
    End Class

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 x32 2011年10月20日 上午 01:49
    2011年10月19日 下午 12:55
    版主

所有回覆

  • 是否可以說明清楚一點嗎?

    CLASSA.FUN1
    CLASSB.FUN1

    CLASSC CALL時
    CLASSA.FUN1, CLASSB.FUN1

    因為不同的CLASS相同的METHOD,並不相衝呀!


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    2011年10月19日 上午 08:09
  • 有嘗試過用 Namespace 區別嗎?
    歡迎參觀我的Blog.NET菜鳥自救會
    2011年10月19日 上午 08:13
    版主
  • ClassA=   Read     function=  Common  跟 temp

    ClassB=   Common

    現在我在 Read.temp 內  要呼叫    ClassB

    所以它會變成呼叫 class A的 common

    2011年10月19日 上午 08:22
  • 那個應該是可行   可是我這樣寫成的dll   已經應用在好幾個程式內

    所以這樣變動其它都要一起改   

    2011年10月19日 上午 08:24
  • 請問可以貼個Code出來看一下呢?
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    2011年10月19日 上午 08:43
  • 我很想請問你一下,如果你有 ClassA 跟 ClassB 兩個類別,你通常在 ClassB 任一方法中要呼叫 ClassA 的某一方法(例如 ClassA.Method1 並假設 ClassB 中並沒有同名方法)都是怎麼做的?

    難道你都直接打 Method1(),然後都可以通過編譯而且都可以執行嗎?

     


    ASP.NET 2Share - http://www.dotblogs.com.tw/johnny
    • 已編輯 Johnny.Net 2011年10月19日 下午 12:09
    2011年10月19日 下午 12:09
  • 從上層名或根名往下走

    ex.

    Class A 內用:

    AppName.Common.xxx


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月19日 下午 12:10
  • 不是很瞭..因為我像以下這樣測試是行的, .NET程式基本上如果在區塊內宣告變數, 在該區塊會以區塊內宣告的變數為優先才對.

    Public Class Class1
     
        Public Sub test()
            MessageBox.Show("Test")
        End Sub
     
        Public Sub y()
            Dim test As New Class2
            test.TYY()
        End Sub
     
        Public Sub z()
            test()
        End Sub
    End Class

     

    Public Class Class2
        Public Sub TYY()
            MessageBox.Show("TYY")
        End Sub
    End Class
    

     

    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
            Dim c As New Class1
            c.y()
            c.z()
        End Sub
    End Class

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 x32 2011年10月20日 上午 01:49
    2011年10月19日 下午 12:55
    版主
  • 你需要服用:

    http://kkbruce.blogspot.com/p/visual-basic.html#vboop1

    http://kkbruce.blogspot.com/p/visual-basic.html#vboop2

    請慢用。


    http://kkbruce.blogspot.com/
    http://about.me/kkbruce
    春有百花秋有月, 夏有涼風冬有雪, 若無閒事在心頭, 便是人間好時節。
    2011年10月19日 下午 02:57
  • Public Class Class1
     
        Public Sub test()
            MessageBox.Show("Test")
        End Sub
     
        Public Sub y()
            Dim test As New Class2	'<<<<<<我沒有宣告這一行   可以了  謝謝
            test.TYY()
        End Sub
     
        Public Sub z()
            test()
        End Sub
    End Class

     

    Public Class Class2
        Public Sub TYY()
            MessageBox.Show("TYY")
        End Sub
    End Class
    

     


    2011年10月20日 上午 01:48