現在、VirtualNode系のToStringは以下の仕様となっている。
| ノード |
ToString |
例 |
| VirtualItem |
itemName |
item1 |
| VirtualDirectory |
directoryName/ |
dir1/ |
| VirtualSymbolicLink |
symbolicLinkName -> TargetPath |
link1 -> /target |
で、この例で示した様な文字列(string)からimplicitによって各ノードのインスタンスへ変換するという趣旨。
現在、以下のように記述できる。
VirtualDirectory dir1 = new("dir1");
これは"dir1"というstingをVirtualNodeName型へimplicitによって変換し、それをVirtualDirectoryのコンストラクタが受け取っている。
implicitのパスは以下のとおり。
string => VirtualNodeName implicit => VirtualNodeName => VirtualDirectory constructor
で、今回の提案は、
VirtualNode系ToStringのstringをimplicitでパースし、VirtualNode系インスタンスを生成できないか、という話である。
VirtualDirectory dir1 = "dir1/";
VirtualSymbolicLink link1 = "link1 -> /target";
VirtualItemについてはTがあるので、更なる検討が必要。
Tが文字列表現する事が完全に可能であれば可能だと思う。
VirtualItem<string> item1 = "item1:Hello, World";
現在、VirtualNode系のToStringは以下の仕様となっている。
で、この例で示した様な文字列(string)からimplicitによって各ノードのインスタンスへ変換するという趣旨。
現在、以下のように記述できる。
これは"dir1"というstingをVirtualNodeName型へimplicitによって変換し、それをVirtualDirectoryのコンストラクタが受け取っている。
implicitのパスは以下のとおり。
string => VirtualNodeName implicit => VirtualNodeName => VirtualDirectory constructor
で、今回の提案は、
VirtualNode系ToStringのstringをimplicitでパースし、VirtualNode系インスタンスを生成できないか、という話である。
VirtualItemについてはTがあるので、更なる検討が必要。
Tが文字列表現する事が完全に可能であれば可能だと思う。