I'm implemented a class called MyProvider which inherited from Component and
IExtenderProvider. i have the problem, that when I typed anything in the
visual studio designer in my MyItem-object which is provided by MyProvider,
the data is lost, after I clicked in another textbox. i added the following
methods in my provider:

[ProviderProperty("MyProvider", typeof(Control)]
public class MyProvider : Component, IExtenderProvider {

[ExtenderProvidedProperty]
[TypeConverter(typeof(MyItemConverter))]
public MyItem GetMyProvider(Control control) { }

[ExtenderProvidedProperty]
public void SetMyProvider(Control extendee, MyItem value) { }

public bool ShouldSerializeMyProvider(Control extendee) {}

}

my MyItem class has 4 properties. 2 of them are hidden for the designer
serialization.the last 2 properties are of type string.

any ideas why he deletes the entered data?

Re: problem with IExtenderProvider by Nick

Nick
Tue Mar 14 02:40:08 CST 2006


"Martin" <NOSPAM@gmx.de> wrote in message
news:eJ5d4A0RGHA.2276@tk2msftngp13.phx.gbl...
> I'm implemented a class called MyProvider which inherited from Component
> and IExtenderProvider. i have the problem, that when I typed anything in
> the visual studio designer in my MyItem-object which is provided by
> MyProvider, the data is lost, after I clicked in another textbox. i added
> the following methods in my provider:
>
> [ProviderProperty("MyProvider", typeof(Control)]
> public class MyProvider : Component, IExtenderProvider {
>
> [ExtenderProvidedProperty]
> [TypeConverter(typeof(MyItemConverter))]
> public MyItem GetMyProvider(Control control) { }
>
> [ExtenderProvidedProperty]
> public void SetMyProvider(Control extendee, MyItem value) { }
>
> public bool ShouldSerializeMyProvider(Control extendee) {}
>
> }
>
> my MyItem class has 4 properties. 2 of them are hidden for the designer
> serialization.the last 2 properties are of type string.
>
> any ideas why he deletes the entered data?

Because you are not saving it anywhere.
Let's see the actual method code.



Re: problem with IExtenderProvider by Martin

Martin
Tue Mar 14 03:27:58 CST 2006

Ok i found the bug... it was an oversight

in my Get method I created a new instance of my object and returned it. the
problem was that i didn't add the new instance to my internal collection.

but i have an onther problem too. when I'm trying to save the project with
my provider. I got an error "An error occurred while code generation for the
MyProvider-Property. the object rereference hasn't got a object instance."

maybe its a problem with my converter?

"Nick Hounsome" <nh002@nickhounsome.me.uk> schrieb im Newsbeitrag
news:IjvRf.169895$YJ4.93125@fe2.news.blueyonder.co.uk...
>
> "Martin" <NOSPAM@gmx.de> wrote in message
> news:eJ5d4A0RGHA.2276@tk2msftngp13.phx.gbl...
>> I'm implemented a class called MyProvider which inherited from Component
>> and IExtenderProvider. i have the problem, that when I typed anything in
>> the visual studio designer in my MyItem-object which is provided by
>> MyProvider, the data is lost, after I clicked in another textbox. i added
>> the following methods in my provider:
>>
>> [ProviderProperty("MyProvider", typeof(Control)]
>> public class MyProvider : Component, IExtenderProvider {
>>
>> [ExtenderProvidedProperty]
>> [TypeConverter(typeof(MyItemConverter))]
>> public MyItem GetMyProvider(Control control) { }
>>
>> [ExtenderProvidedProperty]
>> public void SetMyProvider(Control extendee, MyItem value) { }
>>
>> public bool ShouldSerializeMyProvider(Control extendee) {}
>>
>> }
>>
>> my MyItem class has 4 properties. 2 of them are hidden for the designer
>> serialization.the last 2 properties are of type string.
>>
>> any ideas why he deletes the entered data?
>
> Because you are not saving it anywhere.
> Let's see the actual method code.
>