Thursday, November 28, 2013

Get, Set variable methods to make code easily readable

1. Intead of declaring variables in Script task, when you always forget to declare them and then have errors during runtime - forget declaring, use easy and nice way
// No need to declare READ, WRITE variable and short form of accessing
private T Get<T>(string varName)
{
    Variables lockedVariables = null;
    T var;
    Dts.VariableDispenser.LockOneForRead(varName, ref lockedVariables);
    var = (T)lockedVariables[varName].Value;
    lockedVariables.Unlock();
    return var;
}

private void Set<T>(string varName, T value)
{
    Variables lockedVariables = null;
    Dts.VariableDispenser.LockOneForWrite(varName, ref lockedVariables);
    lockedVariables[varName].Value = value;
    lockedVariables.Unlock();
}
2. Here is example code to use variables
string someName = Get<string>("User::someName");
int someInt = Get<int>("User::someInt");
Set("User::content", "some text");
// OR 
Set<string>("User::content", "some text");