web-dev-qa-db-ja.com

文字列を任意の型に変換する方法

文字列をジェネリック型に変換したい

私はこれを持っています:

string inputValue = myTxtBox.Text;    

PropertyInfo propInfo = typeof(MyClass).GetProperty(myPropertyName);
Type propType = propInfo.PropertyType;

object propValue = ?????

「inputString」をそのプロパティの型に変換し、互換性があるかどうかを確認するにはどうすればよいですか?

tks

56
DJPB
using System.ComponentModel;

TypeConverter typeConverter = TypeDescriptor.GetConverter(propType);
object propValue = typeConverter.ConvertFromString(inputValue);
95
Lee

試す Convert.ChangeType

object propvalue = Convert.ChangeType(inputValue, propType);
14
SWeko

私はあなたが何を達成しようとしているのか本当に理解しているとは思いませんが、ダイナミックなキャスティングを意味していますか?このようなもの:

 TypeDescriptor.GetConverter(typeof(String)).ConvertTo(myObject, typeof(Program));

乾杯。

3
vtortola