1 страниц (3 вхождений)
Написание модуля SMath - Преобразование типов - Сообщения
#1 Опубликовано: 23.07.2012 09:33:03
Добрый день!
Есть желание написать модуль, но не пролучается преобразовать типы данных:
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 Опубликовано: 23.07.2012 20:06:52
Ответ зависит от того что находится в 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 пользователям понравился этот пост
Shwartz 15.09.2012 06:09:00
1 страниц (3 вхождений)
-
Новые сообщения
-
Нет новых сообщений