Decimal type - ambiguous error

18 views
Skip to first unread message

Andrei

unread,
Mar 30, 2011, 7:19:44 AM3/30/11
to SSharp
Hi Petro,

I have a problem regarding Decimal type.

d = new System.Decimal(1);
MessageBox.Show(d);

This generates an exception, here's the stack:

System.Reflection.AmbiguousMatchException: Ambiguous match found.
at System.DefaultBinder.SelectMethod(BindingFlags bindingAttr,
MethodBase[] match, Type[] types, ParameterModifier[] modifiers)
at System.RuntimeType.GetMethodImpl(String name, BindingFlags
bindingAttr, Binder binder, CallingConventions callConv, Type[] types,
ParameterModifier[] modifiers)
at System.Type.GetMethod(String name, BindingFlags bindingAttr,
Binder binder, Type[] types, ParameterModifier[] modifiers)
at
Scripting.SSharp.Runtime.Reflection.MethodProvider.GetConversionMethod(Type
valueType)
at
Scripting.SSharp.Runtime.Promotion.ObjectBinding.ConvertToStatic(Object
value, Type targetType)
at
Scripting.SSharp.Runtime.Promotion.ObjectBinding.ComposeParametersWeekConverter(Object
value, Type targetType)
at
Scripting.SSharp.Runtime.Promotion.ObjectBinding.ComposeParameters(Object[]
arguments, ParameterInfo[] parameters, CanConvertTypePredicate
predicate, ConvertTypeMethod converter)
at
Scripting.SSharp.Runtime.Promotion.ObjectBinding.BindToMethods(Object
target, Type[] genericParameters, Object[] arguments, IEnumerable`1
methods)
at
Scripting.SSharp.Runtime.Promotion.ObjectBinding.BindToMethod(Object
target, Func`2 methodSelector, Type[] genericParameters, Object[]
arguments)
at
Scripting.SSharp.Runtime.Promotion.ObjectBinding.BindToMethod(Object
target, String methodName, Type[] genericParameters, Object[]
arguments)
at
Scripting.SSharp.Runtime.Promotion.DefaultObjectBinding.Scripting.SSharp.Runtime.Promotion.IObjectBinding.BindToMethod(Object
target, String methodName, Type[] genericParameters, Object[]
arguments)
at
Scripting.SSharp.Parser.Ast.ScriptQualifiedName.CallAppropriateMethod(IScriptContext
context, Object obj, String name, Type[] genericArguments, Object[]
param)
at
Scripting.SSharp.Parser.Ast.ScriptQualifiedName.CallClassMethod(Object
obj, String memeberInfo, ScriptFunctionCall scriptFunctionCall, Type[]
genericArguments, IScriptContext context)
at
Scripting.SSharp.Parser.Ast.ScriptQualifiedName.EvaluateNamePart(IScriptContext
context)
at
Scripting.SSharp.Parser.Ast.ScriptQualifiedName.Evaluate(IScriptContext
context)
at Scripting.SSharp.Parser.Ast.ScriptAst.Evaluate(IScriptContext
context)
at
Scripting.SSharp.Parser.Ast.ScriptElements.Evaluate(IScriptContext
context)
at Scripting.SSharp.Parser.Ast.ScriptAst.Evaluate(IScriptContext
context)
at Scripting.SSharp.Parser.Ast.ScriptProg.Evaluate(IScriptContext
context)
at Scripting.SSharp.Parser.Ast.ScriptAst.Execute(IScriptContext
context)
at Scripting.SSharp.Script.Execute()
at Scripting.SSharp.Script.RunCode(String code, IScriptContext
context, Boolean isExpression)
at Scripting.SSharp.Script.RunCode(String code, IScriptContext
context)
at TestProject.TestScripting.OnEvent(FrameworkElement elem, String
eventName)


Any ideas?

Thank you

piter....@gmail.com

unread,
Mar 30, 2011, 8:15:34 AM3/30/11
to SSharp
This is a bug, I have registered it at:

https://github.com/PetroProtsyk/SSharp/issues#issue/12

I will update the status as soon as it will be fixed
> Scripting.SSharp.Parser.Ast.ScriptQualifiedName.CallAppropriateMethod(IScri ptContext

piter....@gmail.com

unread,
Mar 30, 2011, 2:27:29 PM3/30/11
to SSharp
Issue fixed

On 30 Бер, 14:15, "Piter.Prot...@gmail.com" <piter.prot...@gmail.com>
wrote:

Andrei

unread,
Mar 31, 2011, 3:24:34 AM3/31/11
to SSharp
Thank you Piter!
It works.

I noticed something, if I write:

TextBox3.Text = (decimal)TextBox1.Text + (decimal)TextBox2.Text;

the text in TextBox3 shows concatenation of strings, not the actual
sum of decimals. It's like casting is not taken into account.
However it works if write

TextBox3.Text = ((decimal)TextBox1.Text) + ((decimal)TextBox2.Text);

It's not a big problem but I am wondering if it's something which
should be fixed.

Thank you!

On Mar 30, 9:27 pm, "Piter.Prot...@gmail.com"

Petro Protsyk

unread,
Mar 31, 2011, 3:49:03 PM3/31/11
to ssh...@googlegroups.com
I've registered a bug:
Reply all
Reply to author
Forward
0 new messages