SEQ.ReadOnly <'T> Funkcja (F#)
Tworzy nowy obiekt sekwencji, który deleguje obiektu danej sekwencji.Temu oryginalne sekwencji nie odkryte i zmutowane przez rzutowanie typu.Na przykład jeśli w danej tablicy zwracane sekwencji zwróci elementów tablicy, ale nie można rzutować obiektu sekwencji zwracane do tablicy.
Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq
Zestaw: FSharp.Core (w FSharp.Core.dll)
// Signature:
Seq.readonly : seq<'T> -> seq<'T>
// Usage:
Seq.readonly source
Parametry
source
Typ: seq<'T>Sekwencji wejściowych.
Wyjątki
Wyjątek |
Warunek |
---|---|
Zgłoszony podczas sekwencji wejściowych jest null. |
Wartość zwracana
Sekwencja wynik.
Uwagi
Ta funkcja o nazwie ReadOnly w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.
Przykład
Następujący kod używa Seq.readonly do tworzenia niezmienne widoku tablicy mutable.
type ArrayContainer(start, finish) =
let internalArray = [| start .. finish |]
member this.RangeSeq = Seq.readonly internalArray
member this.RangeArray = internalArray
let newArray = new ArrayContainer(1, 10)
let rangeSeq = newArray.RangeSeq
let rangeArray = newArray.RangeArray
// These lines produce an error:
//let myArray = rangeSeq :> int array
//myArray.[0] <- 0
// The following line does not produce an error.
// It does not preserve encapsulation.
rangeArray.[0] <- 0
Platformy
Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2
Informacje o wersji
F# Core wersji biblioteki
Obsługiwane: 2.0, 4.0, przenośne