メソッド間でデータを渡すためにカスタム クラスを使用しています。主な機能の 1 つは画像処理であるため、クラスのプロパティとして画像パスとカスタム サム パスを使用します。プロパティの一部としてクラスに含まれているメソッドを使用したいのですが、System.IO.Path
この方法ではできないようです。
string
タイプとしてではなくタイプを使用してこれを機能させる方法を知っているSystem.IO.Path
ので、その方法を誰かに教えてもらう必要はありません。プロパティでメソッドを使用できるため、 ImagePath
asを宣言できるとSystem.IO.Path
非常に簡単になると思います。型の宣言についての理解が欠けているに違いありません。この質問から学べることを願っています。Path
ImagePath
クラスの定義方法:
Public Class myClass
'structured information which will be passed to a replicator
Public Property ID As Integer
Public Property ImagePath As System.IO.Path '<== this doesn't work
Public Property ThumbPath As System.IO.Path '<== this doesn't work
Public Property GroupID As Byte
Public Property SystemID As Byte
Public Property Comment As String
'Other properties
End Class
このクラスの使用方法:
Public Function myReplicatorFunc(myObj as myClass)
Dim myTempPath as string
Dim myDBObj as myDBConnection
'handle database connections
myTempPath = myObj.ImagePath.GetDirectoryName() & "\" _
myDBObj.GetIntID.toString() & "\" _
myObj.ImagePath.GetExtension()
My.Computer.FileSystem.RenameFile(myObj.ThumbPath.toString, myTempPath)
'Other file movements for replication etc
End Function
プロパティを System.IO.Path クラスとして宣言できないのはなぜですか? 何らかの理由で答えが「いいえ」の場合 (理由を説明してください) System.IO.Path
、同じメソッドの正確なコピーを持つカスタム クラスとして書き直さずに、メソッドをプロパティの拡張として使用するにはどうすればよいですか?