[解決済み】汎用型変換FROM文字列
2022-04-19 17:04:53
質問
あるクラスを使って、別のクラスのプロパティ(quot;property")を格納したいのですが、どうすればよいですか?これらのプロパティは、単に名前と値を持っています。理想的なのは、このクラスに 型付き プロパティで、返される "value" が常に私が望む型であるようにします。
型は常にプリミティブでなければならない。このクラスは、基本的に名前と値を文字列として格納する抽象クラスをサブクラス化したものです。このサブクラスは、基本的に名前と値を文字列として格納する抽象クラスをサブクラス化するもので、このサブクラスによってベースクラスにいくつかの型安全性が追加されます(また、いくつかの変換を省くこともできます)。
ということで、(おおよそ)こんな感じのクラスを作りました。
public class TypedProperty<DataType> : Property
{
public DataType TypedValue
{
get { // Having problems here! }
set { base.Value = value.ToString();}
}
}
そこで質問です。
文字列からプリミティブに変換する一般的な方法はありますか?
変換を横断的にリンクさせるような汎用的なインターフェイスは見当たらないようです(例えば ITryParsable は理想的でした!)。
どのように解決するのですか?
あなたの意図を正しく理解できたかどうかわかりませんが、これが役に立つかどうか見てみましょう。
public class TypedProperty<T> : Property where T : IConvertible
{
public T TypedValue
{
get { return (T)Convert.ChangeType(base.Value, typeof(T)); }
set { base.Value = value.ToString();}
}
}
関連
-
[解決済み] タイプの安全性。アンチェック・キャスト
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] リフレクションを使ってジェネリックメソッドを呼び出すにはどうしたらいいですか?
-
[解決済み] 汎用型Tのクラスインスタンスを取得する方法を教えてください。
-
[解決済み] 汎用クラスやメソッドのメンバからTの型を取得する方法
-
[解決済み] GsonでList<T>オブジェクトをデシリアライズする?
-
[解決済み】大文字・小文字を区別しない「Contains(string)
-
[解決済み】TをEnumに拘束するGenericメソッドの作成
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】C#で四捨五入する方法
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み] 2つのリストを結合する
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】画像のペイントにTextureBrushを使用する方法