Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit bericht wordt weergegeven wanneer u probeert een typetest (:?) of downcast (:?>) uit te voeren die altijd zal slagen op basis van de betrokken typen, waardoor de bewerking niet nodig is.
Redundante typetest:
type Dog() =
member this.Bark() = printfn "Woof!"
let dog = Dog()
if dog :? Dog then
dog.Bark()
Redundante downcast:
type Cat(name: string) =
member this.Name = name
let cat = Cat("Kitten")
let sameCat = cat :?> Cat
printfn "It's still a %s" sameCat.Name
De twee bovenstaande voorbeelden zorgen ervoor dat de compiler het volgende bericht weergeeft:
FS0067: This type test or downcast will always hold
Het gebruik van :? en :?> operators verdient de voorkeur bij het werken met:
- Basisklassen wanneer het runtimetype kan verschillen.
- Waarden van het type
objof de interfacestypen.