定義のように、 aFunction
または aSub
を使用AddressOf
してaを渡すことができることを知っています。Delegate
ThreadStart
Dim oThStart as new System.Threading.Thread.ThreadStart(AddressOf MySub)
これで、同じオブジェクトの異なるプロパティに対して同じ処理を何度も行うこのプログラムができました。これは私が持っているコードの一部です。2 回しか示していませんが、全部で 9 回あり、まだ含めていない他の処理があるため、さらに大きくなります。
If _oInfoRefBase.InfoStr1Column = "" Then
_oInfoRefBase.InfoStr1Column = oColumn.ColumnName
GetHeader(ColInfoStr1, _oInfoTable.NomTable, oColumn.ColumnName)
_oInfoRefBase.InfoStr1Numeric = boolIsNumeric
_oInfoRefBase.InfoStr1Float = boolIsFloat
_oInfoRefBase.InfoDefaultStr1 = GetDefault(ColInfoStr1, _oInfoTable.NomTable, oColumn.ColumnName)
ElseIf _oInfoRefBase.InfoStr2Column = "" Then
_oInfoRefBase.InfoStr2Column = oColumn.ColumnName
GetHeader(ColInfoStr2, _oInfoTable.NomTable, oColumn.ColumnName)
_oInfoRefBase.InfoStr2Numeric = boolIsNumeric
_oInfoRefBase.InfoStr2Float = boolIsFloat
_oInfoRefBase.InfoDefaultStr2 = GetDefault(ColInfoStr2, _oInfoTable.NomTable, oColumn.ColumnName)
End If
GetOtherInfo()
私がしたいのは、反復に依存する必要なプロパティを満たすために呼び出すことができる新しい関数を定義することです。何かのようなもの
GetOtherInfo(_oInfoRefBase.InfoStr1Numeric,_oInfoRefBase.InfoStr1Float,_oInfoRefBase.InfoStr1NotNull,boolIsNumeric,boolIsFloat,ColInfoStr1,_oInfoTable.NomTable, oColumn.ColumnName)
また
GetOtherInfo(_oInfoRefBase.InfoStr2Numeric,_oInfoRefBase.InfoStr2Float,_oInfoRefBase.InfoStr2NotNull,boolIsNumeric,boolIsFloat,ColInfoStr2,_oInfoTable.NomTable, oColumn.ColumnName)
等々。プロパティの値を送信するので、この構文が適切ではないことはわかっていますが、変更できるように送信したいと思います。それが違いを生む場合、いくつかのプロパティはセット内の検証です。
出来ますか?もしそうなら、どのように?