Click here to Skip to main content
15,887,683 members
Home / Discussions / C#
   

C#

 
AnswerRe: What is best way to declare constants set? Pin
Rob Philpott27-Jul-11 23:22
Rob Philpott27-Jul-11 23:22 
AnswerRe: What is best way to declare constants set? Pin
Dave Kreskowiak28-Jul-11 2:20
mveDave Kreskowiak28-Jul-11 2:20 
AnswerRe: What is best way to declare constants set? Pin
PIEBALDconsult28-Jul-11 2:51
mvePIEBALDconsult28-Jul-11 2:51 
AnswerRe: What is best way to declare constants set? Pin
Eddy Vluggen28-Jul-11 6:52
professionalEddy Vluggen28-Jul-11 6:52 
AnswerRe: What is best way to declare constants set? Pin
RobCroll28-Jul-11 13:53
RobCroll28-Jul-11 13:53 
AnswerRe: What is best way to declare constants set? Pin
BillWoodruff28-Jul-11 18:09
professionalBillWoodruff28-Jul-11 18:09 
GeneralRe: What is best way to declare constants set? Pin
PIEBALDconsult29-Jul-11 3:01
mvePIEBALDconsult29-Jul-11 3:01 
AnswerRe: What is best way to declare constants set? Pin
BobJanova29-Jul-11 5:31
BobJanova29-Jul-11 5:31 
What you want to do is change this into a family of 'pseudoconstant' instances, or a database table:

public class CountryInfo {
 public readonly string ABC, POP, PQR, ...;
 
 private CountryInfo(string abc, string pop, string pqr ...){
  ABC = abc; POP = pop; PQR = pqr;
  // ... etc
 }
 
 public static readonly CountryInfo
   JAP = new CountryInfo(CountryRequests.JAP_ABC, CountryRequests.JAP_POP, CountryRequests.JAP_PQR, ...),
    UK = new CountryInfo(CountryRequests. UK_ABC, CountryRequests. UK_POP, CountryRequests. UK_PQR, ...),
    US = new CountryInfo(CountryRequests. US_ABC, CountryRequests. US_POP, CountryRequests. US_PQR, ...),
   // etc
}


You still have to define all the constants, but now you don't need to put a switch everywhere. Just pass a CountryInfo (e.g. CountryInfo.JAP) and access the strings through the instance:
void CountryDependentFunction(CountryInfo countryInfo){
 someFunction(countryInfo.POP);
}


Even if you don't have enough control to replace or modify CountryRequests, you should be able to put this on top of it. If CountryRequests changes frequently you can write a script to update the lower part of CountryInfo, or you could put some static initialiser reflection in there to load entries at runtime (but then you would have to use a dictionary and indexing and it wouldn't be as nice as using properties, as well as being needlessly complex for most situations).
QuestionC# and SQL Server :: Find Most Common Via Junction Table Pin
Matt U.27-Jul-11 14:25
Matt U.27-Jul-11 14:25 
AnswerRe: C# and SQL Server :: Find Most Common Via Junction Table Pin
Łukasz Nowakowski27-Jul-11 23:28
Łukasz Nowakowski27-Jul-11 23:28 
QuestionHow to close a file? Pin
Member 806979527-Jul-11 8:09
Member 806979527-Jul-11 8:09 
AnswerRe: How to close a file? Pin
Ennis Ray Lynch, Jr.27-Jul-11 9:07
Ennis Ray Lynch, Jr.27-Jul-11 9:07 
AnswerRe: How to close a file? Pin
PIEBALDconsult27-Jul-11 14:44
mvePIEBALDconsult27-Jul-11 14:44 
GeneralRe: How to close a file? Pin
Member 806979529-Jul-11 4:29
Member 806979529-Jul-11 4:29 
GeneralRe: How to close a file? Pin
PIEBALDconsult30-Jul-11 5:18
mvePIEBALDconsult30-Jul-11 5:18 
AnswerRe: How to close a file? Pin
jjdacl28-Jul-11 16:46
jjdacl28-Jul-11 16:46 
QuestionDbDataReader: Matching fields to order or occurrence? Pin
Goalie3527-Jul-11 4:14
Goalie3527-Jul-11 4:14 
AnswerRe: DbDataReader: Matching fields to order or occurrence? Pin
dasblinkenlight27-Jul-11 4:26
dasblinkenlight27-Jul-11 4:26 
AnswerRe: DbDataReader: Matching fields to order or occurrence? Pin
Ennis Ray Lynch, Jr.27-Jul-11 5:41
Ennis Ray Lynch, Jr.27-Jul-11 5:41 
AnswerRe: DbDataReader: Matching fields to order or occurrence? Pin
PIEBALDconsult27-Jul-11 14:45
mvePIEBALDconsult27-Jul-11 14:45 
AnswerRe: DbDataReader: Matching fields to order or occurrence? Pin
Eddy Vluggen28-Jul-11 9:49
professionalEddy Vluggen28-Jul-11 9:49 
GeneralRe: DbDataReader: Matching fields to order or occurrence? Pin
PIEBALDconsult28-Jul-11 13:57
mvePIEBALDconsult28-Jul-11 13:57 
Questiondeveloping program Pin
albertodiprima27-Jul-11 4:08
albertodiprima27-Jul-11 4:08 
AnswerRe: developing program Pin
Richard MacCutchan27-Jul-11 4:12
mveRichard MacCutchan27-Jul-11 4:12 
GeneralRe: developing program Pin
albertodiprima27-Jul-11 4:17
albertodiprima27-Jul-11 4:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.