2 using System.ComponentModel.Design;
4 namespace Npgsql.Design
7 /// Zusammenfassung fr NpgsqlParametersEditor.
9 internal class NpgsqlParametersEditor : CollectionEditor
11 NpgsqlParameterCollection parameters;
12 public NpgsqlParametersEditor(Type type) : base(type){
13 this.parameters = null;
16 protected override bool CanSelectMultipleInstances() {
20 protected override object CreateInstance(Type itemType) {
21 NpgsqlParameter param = base.CreateInstance(itemType) as NpgsqlParameter;
23 param.ParameterName = this.GetUniqueParameterName(this.parameters, ":Parameter", 1);
28 public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value) {
29 this.parameters = value as NpgsqlParameterCollection;
30 return base.EditValue (context, provider, value);
33 protected override string HelpTopic {
35 return "vs.data.collectioneditor.parameter";
38 private string GetUniqueParameterName(NpgsqlParameterCollection parameters, string Prefix, int InitialPostfix){
39 int Postfix = InitialPostfix;
40 string ReturnValue = String.Empty;
43 ReturnValue = String.Concat(Prefix, Postfix.ToString());
44 if(parameters == null)
46 IsInside = parameters.Contains(ReturnValue);