Согласно документации SetValue()
, первый параметр - это объект, для которого вы хотите установить свойство, а второй - значение свойства. Так и должно быть примерно так:
for (int i = 0; i < Dts.Connections.Count; i++)
{
var connection = Dts.Connections[i];
if (connection.Name == "m")
{
for (int j = 0; j < connection.Properties.Count; j++)
{
var property = connection.Properties[j];
if (property.Name == "Initial Catalog")
property.SetValue(connection, "some value");
}
}
}
Или с LINQ:
var connection = Dts.Connections.Cast<ConnectionManager>()
.First(cm => cm.Name == "m");
var property = connection.Properties.Cast<DtsProperty>()
.Single(p => p.Name == "Initial Catalog");
property.SetValue(connection, "some value");
(Cast()
необходимы, потому что коллекции, к сожалению, не являются общими.)