Skip to content

Commit facf725

Browse files
committed
В сеттере свойства принудительно выставлена строгая конвертация
1 parent eda9472 commit facf725

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/ScriptEngine/Machine/Contexts/ContextPropertyMapper.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,12 @@ private Action<TInstance, IValue> CreateSetter<T>(MethodInfo methInfo)
111111
return (inst, val) => method(inst, ConvertParam<T>(val));
112112
}
113113

114-
private T ConvertParam<T>(IValue value)
114+
private static T ConvertParam<T>(IValue value)
115115
{
116-
return ContextValuesMarshaller.ConvertParam<T>(value);
116+
return ContextValuesMarshaller.ConvertValueStrict<T>(value);
117117
}
118118

119-
private IValue ConvertReturnValue<TRet>(TRet param)
119+
private static IValue ConvertReturnValue<TRet>(TRet param)
120120
{
121121
return ContextValuesMarshaller.ConvertReturnValue(param);
122122
}

src/ScriptEngine/Machine/Contexts/ContextValuesMarshaller.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ public static T ConvertValueStrict<T>(IValue value)
7878
return default;
7979
}
8080

81+
if (value is T t)
82+
return t;
83+
8184
try
8285
{
8386
var converted = ConvertToClrObject(value);

0 commit comments

Comments
 (0)