1 Pages (3 items)
    
Написание модуля SMath - Преобразование типов - Messages
Добрый день!
Есть желание написать модуль, но не пролучается преобразовать типы данных:
bool IPluginLowLevelEvaluation.ExpressionEvaluation(Term root, Term[][] args, ref Store context, ref Term[] result)
{
if (root.Type == TermType.Function && root.Text == "post" && root.ChildCount == 2)
{
                
Term[]
arg1 = Decision.Preprocessing(args[0], ref context),
arg2 = Decision.Preprocessing(args[1], ref context);
//..Как перевести Term[] в string, чтобы использовать, например, в MessageBox?
string MSG= (string)args[0];// public static explicit operator string(Term[] obj)?
javascript:__doPostBack('forum$ctl03$PostReply','') MessageBox.Show(MSG, "Name", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
.
.
.
Спасибо за помощь новичку в ООП!
            Есть желание написать модуль, но не пролучается преобразовать типы данных:
bool IPluginLowLevelEvaluation.ExpressionEvaluation(Term root, Term[][] args, ref Store context, ref Term[] result)
{
if (root.Type == TermType.Function && root.Text == "post" && root.ChildCount == 2)
{
Term[]
arg1 = Decision.Preprocessing(args[0], ref context),
arg2 = Decision.Preprocessing(args[1], ref context);
//..Как перевести Term[] в string, чтобы использовать, например, в MessageBox?
string MSG= (string)args[0];// public static explicit operator string(Term[] obj)?
javascript:__doPostBack('forum$ctl03$PostReply','') MessageBox.Show(MSG, "Name", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
.
.
.
Спасибо за помощь новичку в ООП!
Ответ зависит от того что находится в args[][]. Если нужно вывести термы в виде строки, то это один вариант, если нужно вывести число, которое введено как параметр - это другой, если же там в качестве параметра введён текст, то уже третий вариант.
Может поможет вот этот кусок кода:
Из вот этого исходника: ODESolvers/Functions/rkfixed.cs
                    Может поможет вот этот кусок кода:
            Term[] out1 = Decision.Preprocessing( Вых.ToArray(), ref context );
            // Вычисляем получившийся вектор
            TMatrix вых = SMath.Math.Numeric.Expression.Calculate( out1, context );
            // Переписываем ответ в терминах double[]
            int r = x.GetLength(0);
            for ( int ii = 0; ii < r; ii++ ) {
                dx[ii] = вых.unit[ ii, 0 ].obj.ToDouble();
            }
Из вот этого исходника: ODESolvers/Functions/rkfixed.cs
Россия навсегда!
Вячеслав Мезенцев
1 users liked this post
Shwartz 9/15/2012 6:09:00 AM
        1 Pages (3 items)
    
- New Posts
 - No New Posts