2013-03-30 51 views

回答

3

你試過這個嗎?

Dim objCar As car 
objCar = New car 
MsgBox(objCar.GetType.Name) 
+0

+1大聲笑...太簡單了! – whytheq

+0

我不知道爲什麼我沒有想到這一點。 +1。 – antinescience

1

爲什麼不只是覆蓋在你的CarToString方法?

public class Car 
{ 
    public Car() {} 

    public override string ToString() 
    { 
     return "Car"; 
    } 
} 

這樣,你可以返回任何你想要返回了它,而不必使用GetType

+0

但他想「重寫」Type.ToString,他不想爲不同的汽車使用唯一的ToString。 –

+0

對於不同的汽車,它不一定是唯一的。在汽車類上覆蓋它一次,並讓它返回「Car」,就會爲任何實例化的Car提供相同的結果。 – antinescience

+0

+1有趣的方法;我目前正在對象/繼承/多態,因此這種方法對我來說很有趣。實際上,你只是借用了字符串方法之一--ToString - 並給它一個新的含義......只要它具有相同的簽名,那麼編譯器就很快樂? – whytheq