i would like to convert a method that already does the job
(only if you instantiate the class within its body)
to one that will accept the subjected class as a passed parameter…somehow.
i have tried to get that result by my self by trial and error ,
(mostly trial ..and errors , lots…)
but no success (:
this first class is within my helpers classes (the extensions namespace)
public static List<string> AnyClassFieldsValuesAsList<T>(this T Clss, string nestedName)
{
// i know how to get this to work... if an instace of the class is declared
// only here i would like to have any given class...as passed parameter
// couple of tests to get a hold of the passed Class...no success (:
var T1 = typeof(T.GetType());
var T2 = Clss.GetType();
return typeof(Clss.GetType()).GetFields(); //ToList<string>();
}
this is the subjected class (that i have stored in same helpers file) to hold strings representing style-fonts
public class FontNames
{
public readonly string Aharoni = "Aharoni",
Andalus = "Andalus",
AngsanaNew = "Angsana New",
AngsanaUPC = "AngsanaUPC",
Aparajita = "Aparajita";
//.....etc'
}
now within the code behind of the current project i want to be able to do something like
//imports of extensions and my style namespaces ....
// then somewhere after Page_Load()...
var instnceOfFnames = new FontNames();
list<string> FontsLst= instnceOfFnames.AnyClassFieldsValuesAsList(.....);
parameters in signature of AnyClassFieldsValuesAsList() at the top are just for testing,
as i couldn’t work with them, i am not sure that they are the ones that i should pass.
what is the correct syntax to achive the results ?
As far as I understood, you need to get the fields’ values without an instanse of the class. I suppose, you should declare those fields as
public readonly static .... Then you’ll be able to utilize the following method:like this:
Based on comments:
For the current issue (as far as I understand it), it seems to be superfluos, as static fields do not need instances to be accessed. But at least it can give some ideas
To get the same result it’s enough to have the same without generics