protected static ActivityVariable <T> GetVariable <T>(ActivityVariable <T> variableDefinition, GetVariablesDelegate getMethod, int id) { object rawVariable = null; if (id != DummyId) { using (Transaction trans = DatabaseAccess.ForSystemDatabase.GetRequestTransaction()) { using (IDataReader reader = getMethod(trans, variableDefinition.Key, id)) { if (reader.Read()) { rawVariable = RuntimePlatformUtils.ConvertFromString((string)reader["Value"], (string)reader["Data_Type"]); } } } } return((rawVariable != null) ? variableDefinition.NewInstance <T>(rawVariable) : variableDefinition.NewInstance <T>()); }