FS0067: Den här typen av test eller nedständ kommer alltid att hålla

Det här meddelandet ges när du försöker utföra ett typtest (:?) eller nedkastat (:?>) som alltid lyckas baserat på de typer som ingår, vilket gör åtgärden onödig.

Redundant typtest:

type Dog() =
    member this.Bark() = printfn "Woof!"

let dog = Dog()

if dog :? Dog then
    dog.Bark()

Redundant nedkastad:

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 två exemplen ovan gör att kompilatorn visar följande meddelande:

FS0067: This type test or downcast will always hold

Användning av :? operatorer och :?> är att föredra när du arbetar med:

  • Basklasser när körningstypen kan skilja sig åt.
  • Värden för typ obj - eller gränssnittstyper.