1 Pages (3 items)
Написание модуля SMath - Преобразование типов - Messages
#1 Posted: 7/23/2012 9:33:03 AM
Добрый день!
Есть желание написать модуль, но не пролучается преобразовать типы данных:
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);
.
.
.
Спасибо за помощь новичку в ООП!
#2 Posted: 7/23/2012 8:06:52 PM
Ответ зависит от того что находится в 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