- changed status to resolved
スクリプト:ブックマークフォルダの削除メソッドのエラー [Canary0829]
下記のようなブックマークフォルダを削除するコードでスクリプトエラーが発生するようです。
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)
-
reporter -
reporter BookmarkNodeAccessor.Remove() を自身を削除するようにした (fixed
#1567)この修正は破棄されました。ノードの操作関連は親ノードからの操作のみにします。
-
reporter - 自身を削除できようにした。整合性よりもUI挙動にあわせることを優先。 (refs
#1567)
→ <<cset e4075e9a1f16>>
- 自身を削除できようにした。整合性よりもUI挙動にあわせることを優先。 (refs
- Log in to comment
BookmarkNodeAccessor.Remove() を自身を削除するようにした (fixed
#1567)→ <<cset d33c0561bbfe>>