が一つの方法です:代わりに空のシーケンスを返す
open System.Collections.Generic
type Node<'a>() =
let getEmptyEnumerator() = Seq.empty<Node<'a>>.GetEnumerator()
interface IEnumerable<Node<'a>> with
member this.GetEnumerator() = getEmptyEnumerator()
member this.GetEnumerator() =
getEmptyEnumerator() :> System.Collections.IEnumerator
、あなたは子ノードのシーケンスを戻すには、このクラスを実装することができます。このタイプはNode<'a>
と呼ばれています。なぜなら、C#でツリー(またはグラフ)をモデル化するのはかなり慣用的な方法なのでです。
用途:
> let smth = Something<string, Node<int>>();;
val smth : Something<string,Node<int>>
> smth.x;;
val it : int = 42
は非不自然例えばhttps://msdn.microsoft.com/en-us/library/documentformat.openxml.openxmlelement(v=office.14).aspxを参照してください。使用できるクラス。 – kvb
「Impossible」という単語を削除するにはタイトルを変更する必要があります。「この人の周りで頭を上げることはできません」 –
@kvbそうです。 'let z = new Something()'は –
Ray