|
You know, I have been working on this for hours, and by posting this and then modifying it with the psuedocode, I ended up answering my own question.
int date = ...
should read
DateTime date = ...
Thank to anyone who put any thought into this.
Scot
|
|
|
|
|
I have a series of fairly large enums, and each value within them has a free text equivalent.
Within my code, I need to get the free text for a given enum value. Currently I am using a fairly traditional method of doing this, i.e. a switch/case on the enum value which obtains the text description.
However this is proving to be a pain to maintain, so does anybody know of a way of adding the free text as an attribute of the enum. For example
public enum MyEnum
{
[Description("This Wibbles")]
Value1,
[Description("This Wobbles")]
Value2,
[Description("Ding Dong")]
Value3
}
|
|
|
|
|
See here [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
The description attribute is exactly what I personally use for this, with a simple helper method to obtain the description from the enum item:
<code>public static class EnumHelper
{
public static string GetDescription(System.Enum enumValue)
{
FieldInfo fi = enumValue.GetType().GetField(enumValue.ToString());
object[] descAttribs = fi.GetCustomAttributes(typeof(DescriptionAttribute), true);
if (descAttribs.Length == 0)
return null;
return ((DescriptionAttribute)descAttribs[0]).Description;
}
}</code>
Usage:
string description = EnumHelper.GetDescription(MyEnum.Value1);
Hope that helps.
|
|
|
|
|
Thanks alot, that works perfectly
Out of curiosity, is it possible to add object type attributes?
for example
public enum EnumAlpha
{
value1,
value2
}
public enum EnumBeta
{
[ObjectDescription(EnumAlpha.value1)]
value1,
[ObjectDescription(EnumAlpha.value2)]
value2,
}
|
|
|
|
|
I dont see what you're trying to achieve, but the answer is yes, you can define your own attributes and markup your code with those attributes.
|
|
|
|
|
Well to cut a very long story short I am currently in the throws of creating an XML data transformation library. Unfortunately for me neither XML structure can be schema'd and these are also out of my control and cannot be change.
To get around this I have created a series of enums for the 100's of different keys these items contain, so now I am trying to create mapping data from one to the other.
It could be done with switch/case statements, however this is messy and will be complicated to maintain. So I am attempting to use attributes on the input enums to easily convert these to the output format.
So for example each data structure contains the concept of Address Type, e.g.
public enum OutputAddressType
{
[Description("ResidentialAddress")]
Residential,
[Description("CommercialAddress")]
Commericial,
[Description("UnknownAddress")]
Unknown,
}
public enum InputAddressType
{
[Description("ADR001")]
Home,
[Description("ADR002")]
HomeSecondary,
[Description("ADR003")]
Business
}
Now as I iterate through the input data object address values, I currently have a switch case that looks something like this:
switch(input.AddressType)
{
case InputAddressType.Home:
this.output.AddressType = OutputAddressType.ResidentialAddress;
break;
case InputAddressType.HomeSecondary:
this.output.AddressType = OutputAddressType.Unknown;
break;
case InputAddressType.Business:
this.output.AddressType = OutputAddressType.CommercialAddress;
break;
}
It would be great if I could do something like this to the input enum:
public enum InputAddressType
{
[ObjectDescription(InputAddressType.ResidentialAddress)]
[Description("ADR001")]
Home,
[ObjectDescription(InputAddressType.Unknown)]
[Description("ADR002")]
HomeSecondary,
[ObjectDescription(InputAddressType.CommercialAddress)]
[Description("ADR003")]
Business
}
The example above is a simple example, however if you imagine that there are over 200 of these enums, each having anywhere from 2 to 200 values you can see why having loads of switch/cases is unmaintainable. Also in the example there is a direct 1 to 1 map from input to output, however in the real world this is a rarity.
|
|
|
|
|
|
Initially I did consider XSLT, however the input XML is a rather interesting example of XML usage, so creating the XSL transform would have been extremely convoluted.
As an example the input XML is entirely attribute based and attribute values and presence depend on the value and presence of other attributes. So for example these two samples represent two different people (customer, staff)
|
|
|
|
|
There are limitations on what types of values may be passed to attributes.
Generally, only strings and numerics. Even enum values have to be cast to their underlying type (int, short, etc.).
|
|
|
|
|
But you're using Reflection on each call which is very slow, better to read them once and cache the results (after all the values aren't changing).
|
|
|
|
|
erm.... ok. Feel free to provide a sample that reads Description attributes without the use of Reflection.
And I mean, come on, how slow is this method on the larger scheme of things? An extra 2 milliseconds? I dont think my users will mind.
|
|
|
|
|
J4amieC wrote: An extra 2 milliseconds?
Obviously you haven't read this[^] yet.
|
|
|
|
|
You might find this[^] helpful.
|
|
|
|
|
I'm looking at (slight) game automation, and I was wondering if anyone knew any simple text-recognition programming techniques.
I say simple since:
1.) Font will always be the Same Type, and size.
2.) Text will always be in the same area.
3.) Text will always be the same color.
The only problem is that the background BEHIND the text will change (As the screen is scrolled)
Any hints / links will be highly appreciated
-= Reelix =-
|
|
|
|
|
|
Wow!
Extremely Helpful!
Many thanks!
(Rank 5 (Or "Helpful Answer"))
-= Reelix =-
|
|
|
|
|
hi
in my app when i set my controls, right to left, it display arabic numbers correctly, but when i use trading components (like devExpress), it does not support rtl languages to display arabic numbers correctly, so, i want to create custom globalization for arabic numbers and use it's format to display arabic numbers correctly, but i don't know how to create custom globalization for this aim, can anyBody tell me how to do ? (article, tutorial or sample code)
thanks
|
|
|
|
|
Hi
I Have Installed below Pakages
1- .Net Framework 3
2- VS 2005 Extention for window workflow fundation
I can build and run the sample but i can not view the workflow designer when i want to open designer It make an error
as below Please Help me
Method 'get_CheckTypes' in type 'Microsoft.Workflow.VsShell.Helpers.VSWorkflowCompilerOptionsService' from assembly 'Microsoft.Workflow.VSDesigner, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation.
Thanks For Any Boudy hellp me
Thaer
|
|
|
|
|
I have seen many PDF files with checkbox, textbox, radiobutton etc. I want to create a PDF library which is able to create this kind of PDF document.
I am looking for help in following areas:
1) Is there any plug-in provided by Microsoft Visual studio (or any tool)that creates PDF file using Drag-n-Drop controls from toolbox?
2) What should be the guideline to create PDF file (What makes it Portable?)
3) It will be helpful, if any one can suggest sample code to add checkbox in PDF document. There are lots of third party tools, which provide dll and we create PDF document using that. I want to create my own library.
Regards
|
|
|
|
|
Munal Kalyan wrote: ) Is there any plug-in provided by Microsoft Visual studio (or any tool)that creates PDF file using Drag-n-Drop controls from toolbox?
From Microsoft - no. Adobe has Acrobat which does this, but there is no Visual Studio integration. I don't know of any product that creates PDF files that integrates with Visual Studio.
Munal Kalyan wrote: 2) What should be the guideline to create PDF file (What makes it Portable?)
Go to Adobe's site for the specification on the PDF file format. It'll probably be behind the Developer site, which, last I checked, was a pay-to-play subscription.
Munal Kalyan wrote: 3) It will be helpful, if any one can suggest sample code to add checkbox in PDF document.
Since there is no support for PDF files in the .NET Framework, you'll have to use some third party library that does this, like PDFNet. You'll have to check with the documenation on the library you're using on exactly how to do this.
Munal Kalyan wrote: I want to create my own library.
Then you'll definately need to subscribe to Adobes Developer site to get the support to build this library. After that, you'll have to come up with your own code snippets to demonstrate using your own library to add a checkbox.
|
|
|
|
|
Hi all,
I have one resource file in which there is some data and when i want to add the data programetically in the resource file. but when i try to add the value in that file i get an error - There is no editor available for "name of resource file" Make sure the application for the file type (.resx) is installed.
after getting this error i can not able to open resource file.
Rana Krishnraj
|
|
|
|
|
Happened to me a few times... Normally happens when a file / path is renamed / has an invalid name.
To fix resource file, find the entry with your Data (In this case Brief.vsk) and remove the following 3 lines:
<data name="Brief" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Brief.vsk;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- Reelix
(It seems I was unable to use code blocks due to the format of the <data </data> )
-= Reelix =-
|
|
|
|
|
Hi
Can anybody tell me how to set a default length for a context menu or for context menu item.
Thanks & Regards
Mishra
|
|
|
|
|
I'm trying to install a new version of software I have written in C# using a setup and deployment project.
I am getting the following error:
Error: Another version of this product is already installed.
So i have changed the version number on the C# project, however I cannot find where in the setup and deployment project to change it's version number.
As it appears to be the setup and deployment project's version number that is causing the problem.
Is my only solution to re-write the setup and deployment project which will auto-generate a new version number?
[couldn't find a setup and deployment project forum ]
Continuous effort - not strength or intelligence - is the key to unlocking our potential.(Winston Churchill)
|
|
|
|