converting a string to it's enum (integer) equivalent

R

Richy

Hi,

I have a class that exposes the Microsoft.DirectX.Direct3D.Compare
property, which allows a drop-down list of values (such as Never,
Always etc) to be selected via the propertygrid. I write the string
value ("Never", "Always" etc) to an XML file, and when I read back the
XML file and set the property I want to be able to set it via the
string. This is my property:

<TypeConverter(GetType(Microsoft.DirectX.Direct3D.Compare))> _
Public Property AlphaFunction() As
Microsoft.DirectX.Direct3D.Compare
Get
Return _properties(PropertiesList.AlphaFunction)
End Get
Set(ByVal value As Microsoft.DirectX.Direct3D.Compare)
_properties(PropertiesList.AlphaFunction) = value
End Set
End Property

What do I need to do to be able to set this property via it's string
value, but still return a drop-down list within a propertygrid to allow
the value to be selected by its name? e.g.

myclass.AlphaFunction = "Never"

Thanks,

Richy
 
P

Phill W.

Richy said:
What do I need to do to be able to set this property via it's string
value, but still return a drop-down list within a propertygrid to allow
the value to be selected by its name?

You don't need to.
Convert the given String value into the Enum value that it represents,
something like:

myclass.AlphaFunction _
= CType("Never", Microsoft.DirectX.Direct3D.Compare)

HTH,
Phill W.
 
R

Richy

Thanks. If I do that, however, I get

Conversion from String "Never" to type Integer is not valid.

But I just found I can do it this way:

[Enum].Parse(GetType(Microsoft.DirectX.Direct3D.Compare), "Never")

Cheers,

Richy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top