如何根据句子的含义将句子映射到用户声明的方法?

时间:2018-05-22 10:48:52

标签: c# reflection stanford-nlp

我必须将用户定义的句子映射到特定的方法。 例如,如果有句子“调到87.5 FM电台”,我有一个方法“Tune(MediaDevices mediaDevice,double value)”。我需要通过句子来识别要调用此方法,并且参数应该是针对mediaDevice的FM和针对值的87.5。

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

1 个答案:

答案 0 :(得分:0)

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});

包括反思。 希望它有所帮助。