Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Using strings in an enum
- public enum Accounts
- {
- BankOfAmerica = 123654,
- BankOfIndia = 765091
- }
- enum Banks
- {
- BankOfFoo,
- BankOfBar,
- BankOfBlah,
- BankOfABC
- }
- var accounts = new Dictionary<string,string>();
- accounts.Add("Bank of America", "ABC12345");
- accounts.Add("Bank of India", "122-6X-666");
- string number = accounts["Bank of America"];
- public enum Accounts {
- BankOfAmerica,
- BankOfIndia
- }
- var accounts = new Dictionary<Accounts,string>();
- accounts.Add(Accounts.BankOfAmerica, "ABC12345");
- accounts.Add(Accounts.BankOfIndia, "122-6X-666");
- string number = accounts[Accounts.BankOfAmerica];
- public class BankAccount
- {
- public string Name { get; set; }
- public int Number { get; set;}
- public BankAccount(string name, int number)
- {
- Name = name;
- Number = number;
- }
- }
- public List<BankAccount> BankAccounts = new List<BankAccount>();
- public BankAccount GetAccountByName(string name)
- {
- return BankAccounts.FirstOrDefault(a => a.Name == name);
- }
- var account = GetAccountByName("BankOfAmerica");
- account.Number = 12345678;
- class AccountAttribute : Attribute
- {
- public string MyValue { get; set; }
- // add any other stuff...
- }
- public enum Accounts
- {
- [Account(MyValue = "A")]
- BankOfAmerica = 123654,
- [Account(MyValue = "B")]
- BankOfIndia = 765091
- }
- public static class Accounts
- {
- public static dynamic BankOfAmerica { get; set; }
- public static dynamic BankOfIndia { get; set; }
- static Accounts()
- {
- BankOfAmerica = 123654;
- BankOfIndia = 765091;
- }
- public static dynamic Parse(dynamic value)
- {
- if (value.ToString() == BankOfAmerica.ToString() || value.ToString() == "BankOfAmerica")
- return BankOfAmerica;
- if (value.ToString() == BankOfIndia.ToString() || value.ToString() == "BankOfIndia")
- return BankOfIndia;
- throw new Exception("cannot parse");
- }
- }
- Accounts.BankOfAmerica = "123";
- if (account == Account.BankOfAmerica)
- {
- // welcome to usa
- }
- else if (account == Account.BankOfIndia)
- {
- // count us one by one if you can
- }
- try
- {
- account = Account.Parse("123654");
- }
- catch
- {
- // oops
- }
Add Comment
Please, Sign In to add comment