You cannot do this because it Tdoes not matter in IMyMainInterface. If your goal is for each value to be an implementation of some IMyInterface<T>, but each value could be an implementation for another T, then you should probably declare a base interface:
public interface IMyInterface
{
void SomeFunction();
}
public interface IMyInterface<T> : IMyInterface
{
T Value { get; set; }
}
then
public interface IMyMainInterface
{
Dictionary<string, IMyInterface> Parameters { get; }
}
EDIT: , , , . , , , , . :
var pair = dictionary.First();
var value = pair.Value;
, value ?
, , T, . , , Ts:
public interface IMyMainInterface<TFoo>
{
Dictionary<string, IMyInterface<TFoo>> Parameters { get; }
}