スクリプト:ブックマークフォルダの削除メソッドのエラー [Canary0829]

Issue #1567 resolved
Ito Mitsuhiro repo owner created an issue

下記のようなブックマークフォルダを削除するコードでスクリプトエラーが発生するようです。

nv.Bookmark.FolderTree.BookmarkNode.Remove(nv.Bookmark.FolderTree.BookmarkNode.Children[0]); // ルート直下一つ目のブックマークフォルダを削除

<スクリプトのエラーメッセージ>
Error: (1): No public methods with the specified arguments were found.

スクリプトマニュアルで BookmarkNodeAccessor の Insert メソッドの戻り値の型と、Remove メソッドの引数の型が共に「QuickAccessNodeAccessor」になっていますが、本件に関係しているのでしょうか?
Insert 実行時の戻り値は BookmarkNodeAccessor のように見えたので、マニュアル側の誤記?

余談になりますが、ブックマークフォルダはルートノードと子ノードが共に BookmarkNodeAccessor なので、下記のようなコードでルートノードを削除できてしまいそうな雰囲気を感じました。

nv.Bookmark.FolderTree.BookmarkNode.Remove(nv.Bookmark.FolderTree.BookmarkNode)

ルートノードと子ノードの型を分けた上で、子ノードにだけ、引数なしの削除メソッド Remove を用意した方がよいのかもしれません。

Comments (3)

  1. Ito Mitsuhiro reporter

    BookmarkNodeAccessor.Remove() を自身を削除するようにした (fixed #1567)

    この修正は破棄されました。ノードの操作関連は親ノードからの操作のみにします。

  2. Log in to comment