c# - 如何根据该句子的含义将句子映射到用户声明的方法?
问题描述
我必须将用户定义的句子映射到特定的方法。例如,如果有句子“调谐到 87.5 FM 电台”并且我有一个方法“调谐(MediaDevices mediaDevice,double value)”。我需要通过这句话来确定要调用这个方法,参数应该是媒体设备的FM和值的87.5。
在这种情况下,我尝试使用 NLP 依赖解析器来识别动作,即“Tune”和值,即“FM”和“87.5”。但是如何将这些动作和价值映射到这个方法。也会有很多与tuner相关的方法,所以需要调用哪个方法是个问题。
解决方案
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});
包括反射。希望能帮助到你。
推荐阅读
- php - 在多个文件中使用扩展并产生错误
- gradle - gradle 复合构建传递地执行任务
- python - 在 Python 中使用 regionprops
- powershell - 根据条件将文件移动到其父级内的新文件夹
- python - 在一列中解析逗号分隔的数据
- jdbc - java.lang.AbstractMethodError:方法 com/extendedsystems/jdbc/advantage/ADSDatabaseMetaData.supportsSavepoints()Z 是抽象的
- java - 在 Android Studio 中更改 DateFormat
- php - 警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,在第 21 行的 /... 中给出布尔值
- python - 使用venv时是否需要激活虚拟环境
- excel-formula - 在excel公式中放置IF RIGHT逻辑