首页 > 解决方案 > 如何根据该句子的含义将句子映射到用户声明的方法?

问题描述

我必须将用户定义的句子映射到特定的方法。例如,如果有句子“调谐到 87.5 FM 电台”并且我有一个方法“调谐(MediaDevices mediaDevice,double value)”。我需要通过这句话来确定要调用这个方法,参数应该是媒体设备的FM和值的87.5。

在这种情况下,我尝试使用 NLP 依赖解析器来识别动作,即“Tune”和值,即“FM”和“87.5”。但是如何将这些动作和价值映射到这个方法。也会有很多与tuner相关的方法,所以需要调用哪个方法是个问题。

标签: c#reflectionstanford-nlp

解决方案


Type classType = Type.GetType("ClassName"); //In case method is in any other class.
ConstructorInfo classConstructor = classType.GetConstructor(Type.EmptyTypes);
object classObject = classConstructor.Invoke(new object[]{});
MethodInfo tune= magicType.GetMethod("Tune");
tune.Invoke(classObject , new object[]{arg1,arg2});

包括反射。希望能帮助到你。


推荐阅读