2011-01-20 15 views
1

VB.NET、.NET 4VB.NET数値型のみジェネリック?

こんにちはすべて、

は、私は2つの機能を必要とする(TParsed、TUnparsedのうち)IParseableと呼ばれるインタフェースがあるとします。

Function Parse(ByVal Value As TUnparsed) As TParsed 
Function Unparse(ByVal Value As TParsed) As TUnparsed 

は、その方法はありますTParsedとTUnparsedを数値型(*や+などの演算は既に定義されている)に制限できますか?

問題は例えば、私は私のインターフェイスを実装し、関数のいずれかを定義しようとすると、ということである。:

Public Function Parse(ByVal Value As TUnparsed) As TParsed Implements IParseable(Of TParsed, TUnparsed).Parse 
    Return CType(10 * Value, TParsed) 
End Function 

VSは「*」はTUnparsedのために定義されていないというエラーがスローされます。私は、TUnparsedは何でもできることを理解していますが、TUnparsedはDouble、Integer、Longなどのように私のジェネリックを制限する方法はありますか?テキストボックスになるようにコントロールを要求するに

Function Blah(Of T As TextBox)(ByVal Control As T) As Object 

(または多分私はどちらか非常によくそれを理解していない....):私はあなたのような何かを行うことができますことを知っているので、

は、私はこれを頼みます。しかし、とにかく、任意のアイデアや私は道をオフですか?これらのインタフェースとジェネリックタイプのハングアップを試みるだけです。

おかげで事前に多く、 ブライアン

答えて

1

は残念ながら、これは不可能です。

two があります。 Tの

(:私はちょうど言及したかった

+0

ああ...たくさんありがとう! –

2

SLaksは右算術に関するしている間、ことを(場合には、誰もが似たような不思議された)、私は同等の値の型にジェネリックを制限するためのきちんとした方法をについて読んでAs {構造、IComparable})

関連する問題