structメンバーのTypeId
(std::any::TypeId::of::<T>
)に名前でアクセスする方法はありますか?structメンバーの 'TypeId'にアクセスできますか?
私は基本的な構造体がある場合:
MyStruct {
value: i64,
}
を私は唯一MyStruct
とvalue
知っている、TypeId::of::<i64>
にアクセスする方法がある - i64
はvalue
の種類に依存するが?
main() {
assert_eq!(
TypeId::of::<i64>,
// ^^^ this works
type_id_of!(MyStruct, value),
// ^^^ this is what I'm looking for
);
}
関連する質問を参照してください。(他のTypeId::of
が動作しません)あなたがいる限り、それは'static
だとして、あなたが持っている価値の任意のフィールドのTypeId
を推定するタイプの検出を使用することができますIs it possible to access the type of a struct member for function signatures or declarations?
おそらくどのように動作するかの例を追加すると役に立ちます。 'TypeId :: of ::'のようなものでしょうか?この構文は存在しませんが、私はそれがあなたが達成しようとしているものの例として役立つと思います –
aochagavia
質問に追加例 – ideasman42