Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class A
- {
- public static class BA
- {
- public const string BAA = "baa";
- public const string BAB = "bab";
- public const string BAC = "bac";
- }
- public static class BB
- {
- public const string BBA = "bba";
- public const string BBB = "bbb";
- public const string BBC = "bbc";
- }
- }
- string[] BAs = new string[]{"baa","bab","bac"};
- string[] BBs = new string[]{"bba","bbb","bbc"};
- string[] BAs = new string[]{"BAA","BAB","BAC"};
- string[] BBs = new string[]{"BBA","BBB","BBC"};
- string[] BAs = A.BA.GetAllStringVariablesFromStaticMembers();
- string[] BBs = A.BB.GetAllStringVariablesFromStaticMembers();
- public static String[] GetAllStringVariablesFromStaticMembers(Type value) {
- if (Object.ReferenceEquals(null, value))
- throw new ArgumentNullException("value");
- List<String> result = new List<String>();
- foreach (FieldInfo fi in value.GetFields(BindingFlags.Static | BindingFlags.Public))
- if (fi.FieldType == typeof(String))
- result.Add(fi.GetValue(null) as String);
- return result.ToArray();
- }
- ...
- string[] BAs = GetAllStringVariablesFromStaticMembers(typeof(A.BA));
- public static class TypeExtension
- {
- public static string[] GetStaticStrings(this Type type)
- {
- return type
- .GetFields(BindingFlags.Public | BindingFlags.Static)
- .Where(field => field.FieldType == typeof(string))
- .Select(field => (string)field.GetValue(null))
- .ToArray();
- }
- }
- string[] arr = typeof(A.BA).GetStaticStrings();
- public static class A {
- public static readonly A_Wrapper BA = new A_Wrapper(
- new string[3] {
- "baa",
- "bab",
- "bac"
- }
- );
- public static readonly A_Wrapper BB = new A_Wrapper(
- new string[3] {
- "bba",
- "bbb",
- "bbc"
- }
- );
- public class A_Wrapper {
- public A_Wrapper(string[] data) {
- this.data = data;
- }
- private readonly string[] data;
- public string[] GetAllStringVariablesFromStaticMembers() {
- return data;
- }
- }
- }
- var data1 = A.BA.GetAllStringVariablesFromStaticMembers(); // baa, bab, bac
- var data2 = A.BB.GetAllStringVariablesFromStaticMembers(); // bba, bbb, bbc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement