私はvb.netを使い慣れていて、まだたくさんのことを学んでいます。これはうまくいくが、もっと簡単な方法があると確信している。誰かが私を正しい方向に向けることができますか?ありがとう。エラーをキャッチしながら値をあるタイプから別のタイプに変換する機能
Public Function GetValue(passVal As Object, valType As Type, errorVal As Object) As Object
Try
Select Case valType
Case GetType(String)
Return CType(passVal, String)
Case GetType(Date)
Return CType(passVal, Date)
Case GetType(Decimal)
Return CType(passVal, Decimal)
Case GetType(Integer)
Return CType(passVal, Integer)
Case GetType(Boolean)
Return CType(passVal, Boolean)
Case Else
MsgBox("Type Not Recognized")
Return errorVal
End Select
Catch ex As Exception
Return errorVal
End Try
End Function
文字列としてのvalを暗く?戻り値の型は 'As Object'なので、コードが返すものはボックス化されます。ここからthie上流への簡単な方法があります。 – Plutonix
私はそれをもう一度。あなたが質問しているときにはイライラしていて、あなたがやろうとしていることをしないことを人々がお勧めするのではなく、しかし、あなたが学んでいるので、それを離れる方が良いです。そのトリックは、オブジェクトの種類がわかっていて、オブジェクトを検査する必要がないように、コードを記述することです。基本的には、99.9%の時間で、 'object'を引数とする関数を必要としません。 –
$ .02 VB.NETを5年以上かけて書いた人から:もし可能であれば、C#に切り替えてください。 C#にはコードサンプルがいくつかありますが、書くのが簡単になります。そして、{中括弧}やセミコロンに慣れてしまうと、JavaScriptのような他の言語が突然簡単になります。私は約3年前に切り替えましたが、早くやりたいと思っています。 –