在F#中获取通用参数类型名称

时间:2019-12-04 16:07:04

标签: asp.net-core f#

我有这样的课程:

type IInterface = {}

type BaseClass<'Data, 'TMeta> =
{
    Data : 'Data
    Meta : 'TMeta
}
interface IInterface with
    ...

type Record = {
    Value: string
}

type MyType = BaseClass<Record, unit>

现在,在我的.Net Core应用程序中,我有一个扩展程序可以进行一些注册:

[<Extensio>]
static member Register<'t when 't :> IInterface>(...) =
   services.AddSingleton<Configuration<'t>>()

services.Register<MyType>()

在我的配置中

type Configuration<'t when 't :> IInterface> ()
    let tp = typedefof<'t>.GetGenericArguments()
    ...

我无法在运行时访问通用参数,因为它们被视为System.Runtime,而我希望可以访问MyType

0 个答案:

没有答案