all groups > dotnet clr > june 2006 >
You're in the

dotnet clr

group:

How do I do this


How do I do this Larry Smith
6/30/2006 9:13:01 PM
dotnet clr: Looking at the ".resx" files produced by the Windows forms designer, I see
nodes like this:

<data name="MyRadioBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>94, 21</value>

If you then read the "94, 21" back into your code as a string (exactly as
seen), how do you then deserialize it so it can be converted back into a
"System.Drawing.Size" object (i.e.,there's no "System.Drawing.Size"
constructor that takes this string as an argument but in any case, I assume
the correct way is to reverse the process that created this string in the
first place). Any help would be appreciated. Thanks.

Re: How do I do this Barry Kelly
7/1/2006 12:00:00 AM
[quoted text, click to view]

Did you include enough groups in the posting list? Gee :)

This is probably most appropriate for framework.windowsforms. It
certainly isn't related to .clr or .csharp, but most stuff in .csharp
isn't strictly related to C# either.

[quoted text, click to view]

This is done with a TypeConverter. There's a TypeConverterAttribute on
the Point class, and it points to a PointTypeConverter class in
System.Drawing. It's got a ConvertFrom method which does this
transformation. You're supposed to use TypeDescriptor to access the
converter, i.e. with TypeDescriptor.GetConverter(typeof(Point)) etc.

-- Barry

--
Re: How do I do this Larry Smith
7/1/2006 12:00:00 AM
[quoted text, click to view]

Only four groups - I'm sure you've seen plenty more :)

[quoted text, click to view]

You may be right but there's a lot of overlap also. You therefore have a
better chance of getting the right answer (though you don't want to violate
good NG etiquette by flooding too many groups)

[quoted text, click to view]

And so this proves my point. It's exactly what I needed - thanks very much
(appreciated)

Re: How do I do this Larry Smith
7/1/2006 12:00:00 AM
[quoted text, click to view]

Yes, as Barry Kelly also pointed out. Thanks to both of you (couldn't find
this info after my own initial search)

Re: How do I do this Nicholas Paldino [.NET/C# MVP]
7/1/2006 12:37:16 AM
Larry,

What you want to do is call the static GetConverter method on the
TypeDescriptor class. Passing the type of System.Drawing.Size to it will
return a TypeConverter instance which you can use to call the
ConvertFromString method on. This will return a Size structure back to you
which you can then use.

Hope this helps.


--
- Nicholas Paldino [.NET/C# MVP]
- mvp@spam.guard.caspershouse.com

[quoted text, click to view]

AddThis Social Bookmark Button