CONTRACT_TYPE
{
name = FS_Experiment
...
// title = Perform @experiment.Name().ToLower().FirstCap() experiments on @targetBody
title = 在 @targetBody 上进行 @experiment.Name().ToLower().FirstCap() 实验。
...
}
ContractConfigurator.ContractType: CONTRACT_TYPE 'FS_Experiment': Error parsing title
ArgumentException: Expected a valid expression, found: '实'
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseToken () (at <20a3a039060941bfb465629683bb64bf>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseMethod[TResult] (ContractConfigurator.ExpressionParser.BaseParser+Token token, T obj, System.Boolean isFunction) (at <20a3a039060941bfb465629683bb64bf>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseMethod[TResult] (ContractConfigurator.ExpressionParser.BaseParser+Token token, T obj, System.Boolean isFunction) (at <20a3a039060941bfb465629683bb64bf>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseMethod[TResult] (ContractConfigurator.ExpressionParser.BaseParser+Token token, T obj, System.Boolean isFunction) (at <20a3a039060941bfb465629683bb64bf>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].CompleteIdentifierParsing[U] (U value) (at <20a3a039060941bfb465629683bb64bf>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseSpecialIdentifier (ContractConfigurator.ExpressionParser.BaseParser+Token token) (at <20a3a039060941bfb465629683bb64bf>:0)
ContractConfigurator.ExpressionParser.StringExpressionParser.ParseStatement[TResult] () (at <20a3a039060941bfb465629683bb64bf>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <20a3a039060941bfb465629683bb64bf>:0)
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
在 @targetBody 上进行 @experiment.Name().ToLower().FirstCap() 实验。
..........................................................* <-- HERE
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <20a3a039060941bfb465629683bb64bf>:0)
ContractConfigurator.ConfigNodeUtil.ParseSingleValue[T] (System.String key, System.String stringValue, System.Boolean allowExpression) (at <20a3a039060941bfb465629683bb64bf>:0)
ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) (at <20a3a039060941bfb465629683bb64bf>:0)
ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Action`1[T] setter, ContractConfigurator.IContractConfiguratorFactory obj, T defaultValue, System.Func`2[T,TResult] validation) (at <20a3a039060941bfb465629683bb64bf>:0)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, String, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Func`2)
ContractConfigurator.DeferredLoadUtil:ExecuteLoad(DeferredLoadObject`1)
System.Reflection.MethodBase:Invoke(Object, Object[])
ContractConfigurator.ConfigNodeUtil:ExecuteDeferredLoads()
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractTypeConfig>d__32:MoveNext()
ContractConfigurator.<FinalizeContractTypeLoad>d__31:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'FS_Experiment'
CONTRACT_TYPE
{
name = FS_Experiment
...
// title = Perform @experiment.Name().ToLower().FirstCap() experiments on @targetBody
title = 在 @targetBody 上进行 @experiment.Name().ToLower().FirstCap()
...
}