Click here to Skip to main content
15,908,274 members
Home / Discussions / C#
   

C#

 
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 
GeneralRe: developing program Pin
Blue_Boy27-Jul-11 4:37
Blue_Boy27-Jul-11 4:37 
QuestionLoading of pictures and (un)covering them Pin
nstk27-Jul-11 0:02
nstk27-Jul-11 0:02 
AnswerRe: Loading of pictures and (un)covering them [modified] Pin
GlobX27-Jul-11 0:48
GlobX27-Jul-11 0:48 
GeneralRe: Loading of pictures and (un)covering them Pin
nstk27-Jul-11 21:36
nstk27-Jul-11 21:36 
GeneralRe: Loading of pictures and (un)covering them Pin
GuyThiebaut27-Jul-11 23:38
professionalGuyThiebaut27-Jul-11 23:38 
QuestionCatch Database events (Oracle 10) Pin
V.26-Jul-11 22:26
professionalV.26-Jul-11 22:26 

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.