/// <summary> /// Creates an instance. /// </summary> /// <param name="tagger">A tagger that this instnace peeps in.</param> /// <remarks> /// It is usually easier to use <see cref="Hack.GetDictionaries{TNode}(MeCabTaggerBase{TNode})"/> than this constructor. /// </remarks> public DictionaryBundle(MeCabTaggerBase <TNode> tagger) { NodeAllocator = Hack.GetFieldValue(tagger, "nodeAllocator") as Func <TNode>; Viterbi = Hack.GetFieldValue(tagger, "viterbi") as Viterbi <TNode>; Connector = Hack.GetFieldValue(Viterbi, "connector") as Connector <TNode>; Tokenizer = Hack.GetFieldValue(Viterbi, "tokenizer") as Tokenizer <TNode>; Dictionaries = Hack.GetFieldValue(Tokenizer, "dic") as MeCabDictionary[]; }
/// <summary> /// Creates an instance of dictionary bundle upon a tagger. /// </summary> /// <typeparam name="TNode">The type of nodes returned by the tagger that the dictionary bundle is built upon.</typeparam> /// <param name="tagger">A tagger instance.</param> /// <returns></returns> public static DictionaryBundle <TNode> GetDictionaries <TNode>(MeCabTaggerBase <TNode> tagger) where TNode : MeCabNodeBase <TNode> { return(new DictionaryBundle <TNode>(tagger)); }