Como adicionar metadados ao System.Type?
Eu tenho trabalhado em uma linguagem, mas em termos de integração com .NET, só consegui fazer com que tipos primitivos funcionassem até agora. Ontem à noite, tive uma boa ideia - em vez de tentar descobrir qual é a exataSystem.Type
Para tuplas, módulos e funções devem ser durante a digitação, o que eu poderia fazer é obter oSystem.Type
doSystem.Object
e adicione alguns metadados que correspondem aos meus próprios tipos de idiomas complexos. O que importa não é exatamenteSystem.Type
Eu adicionaria os metadados a, mas cada um dos substitutos para os tipos no meu idioma é distinto um do outro.
A razão pela qual preciso disso é que estou usando as funções do namespace de reflexão para integração que envolve malabarismoSystem.Type
s.
type SpiralType =
| IntT
| StringT
| TupleT of SpiralType list
,Como exemplo, o que eu gostaria de adicionar aoSystem.Type
seriam as instâncias do tipo de união discriminada em F # acima para garantir a exclusividade.
Qual seria a melhor maneira de fazer isso?