Присвойте результат метода переменной в задаче сценария ssis, используя c# - PullRequest
1 голос
/ 15 апреля 2020

Я использую ssdt против 2017 и хотел бы присвоить результат метода переменной в задаче сценария, используя C#. Я пытаюсь сделать это вне основного метода. Я могу прочитать значения переменных SSIS в основном методе, используя переменные dts, но не имея доступа к нему вне основного метода.

public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
        public void Main()
    {
          //Do something
        }

        private class DifferentClass
        {
         private Microsoft.SqlServer.Dts.Runtime.Variables DtsVariables;
         public string MakeURL()
         {
          return DtsVariables["User::URLBase"].Value.ToString() + "/default.aspx"; // how to assign this value to the below variable
         }

         string urlbase = MakeURL(); //Return results of MakeURL() to the string urlbase
        }
}

Чтобы лучше объяснить мою проблему, если бы я обращался к переменным dts вне main () метод, который я получаю сообщение об ошибке: ссылка на объект требуется для нестатического c поля, метода или свойства 'VSTARTScriptObjectModelBase.Dts'.

public void Main()
{
string test = Dts.Variables["User::TestString"].Value.ToString(); //This works
}

private class Test
{
string newtest = Dts.Variables["User::TestString"].Value.ToString(); //Error: An object reference is required for the non-static field, method, or property 'VSTARTScriptObjectModelBase.Dts'   
}
...