反射调用静态类的方法,字段


            //System.Math.Cos(33);

            //Type theMathType = Type.GetType("System.Math");
            //Type[] parameterTypes = new Type[1];
            //parameterTypes[0] = Type.GetType("System.Double");
            //MethodInfo CosinInfo = theMathType.GetMethod("Cos", parameterTypes);
            //Object[] parameters = new Object[1];
            //parameters[0] = 45;
            //Object result = CosinInfo.Invoke(null, parameters);
            //Console.WriteLine(result.ToString());
            /*
            Type BstrType = typeof(ButtonImages);

            FieldInfo finfo = BstrType.GetField("Btn_" + text);
            string img = finfo.GetValue(null) as string;
            */

    public static class BtnImages
    {
        
public static string ImgBasePath = "~/Images/site/Buttons/";

        
private const string Pattern = "<img src='/Images/site/Buttons/{0}' border='0' onerror='setButtonImg(this)' />";
        
private const string PatternMethod = "<img src='/Images/site/Buttons/{0}' alt='{1}' title='{1}' border='0' onerror='setButtonImg(this)' />";
        
#region
        
/// <summary>
        
/// Btn-bc.gif
        
/// </summary>
        public static string Btn_bc = string.Format(Pattern, "Btn-bc.gif");
        
/// <summary>
        
/// Btn-bcdd.gif
        
/// </summary>
        public static string Btn_bcdd = string.Format(Pattern, "Btn-bcdd.gif");
        
/// <summary>
        
/// Btn-bj.gif
        
/// </summary>
        public static string Btn_bj = string.Format(Pattern, "Btn-bj.gif");
        
/// <summary>
        
/// Btn-cfdd.gif
        
/// </summary>
        public static string Btn_cfdd = string.Format(Pattern, "Btn-cfdd.gif");
        
/// <summary>
        
/// Btn-cjcgry.gif
        
/// </summary>
        public static string Btn_cjcgry = string.Format(Pattern, "Btn-cjcgry.gif");
        
/// <summary>
        
/// Btn-cjjtgly.gif
        
/// </summary>
        public static string Btn_cjjtgly = string.Format(Pattern, "Btn-cjjtgly.gif");
        
/// <summary>
        
/// Btn-cjxsry.gif
        
/// </summary>
        public static string Btn_cjxsry = string.Format(Pattern, "Btn-cjxsry.gif");
        
/// <summary>
        
/// Btn-ck.gif
        
/// </summary>
        public static string Btn_ck = string.Format(Pattern, "Btn-ck.gif");
        
/// <summary>
        
/// Btn-DownArrow.gif
        
/// </summary>
        public static string Btn_DownArrow = string.Format(Pattern, "Btn-DownArrow.gif");
        
/// <summary>
        
/// Btn-drdd.gif
        
/// </summary>
        public static string Btn_drdd = string.Format(Pattern, "Btn-drdd.gif");
        
/// <summary>
        
/// Btn-fb.gif
        
/// </summary>
        public static string Btn_fb = string.Format(Pattern, "Btn-fb.gif");
        
/// <summary>
        
/// Btn-fbgszx.gif
        
/// </summary>
        public static string Btn_fbgszx = string.Format(Pattern, "Btn-fbgszx.gif");
        
/// <summary>
        
/// Btn-fbxcpxx.gif
        
/// </summary>
        public static string Btn_fbxcpxx = string.Format(Pattern, "Btn-fbxcpxx.gif");
        
/// <summary>
        
/// Btn-fh.gif
        
/// </summary>
        public static string Btn_fh = string.Format(Pattern, "Btn-fh.gif");
        
/// <summary>
        
/// Btn-fk.gif
        
/// </summary>
        public static string Btn_fk = string.Format(Pattern, "Btn-fk.gif");
        
/// <summary>
        
/// Btn-fsly.gif
        
/// </summary>
        public static string Btn_fsly = string.Format(Pattern, "Btn-fsly.gif");
        
/// <summary>
        
/// Btn-fszgys.gif
        
/// </summary>
        public static string Btn_fszgys = string.Format(Pattern, "Btn-fszgys.gif");
        
/// <summary>
        
/// Btn-gl.gif
        
/// </summary>
        public static string Btn_gl = string.Format(Pattern, "Btn-gl.gif");
        
/// <summary>
        
/// Btn-gx.gif
        
/// </summary>
        public static string Btn_gx = string.Format(Pattern, "Btn-gx.gif");
        
/// <summary>
        
/// Btn-gxsl.gif
        
/// </summary>
        public static string Btn_gxsl = string.Format(Pattern, "Btn-gxsl.gif");
        
/// <summary>
        
/// Btn-hbsxdd.gif
        
/// </summary>
        public static string Btn_hbsxdd = string.Format(Pattern, "Btn-hbsxdd.gif");
        
/// <summary>
        
/// Btn-hf.gif
        
/// </summary>
        public static string Btn_hf = string.Format(Pattern, "Btn-hf.gif");
        
/// <summary>
        
/// Btn-jj.gif
        
/// </summary>
        public static string Btn_jj = string.Format(Pattern, "Btn-jj.gif");
        
/// <summary>
        
/// Btn-jy.gif
        
/// </summary>
        public static string Btn_jy = string.Format(Pattern, "Btn-jy.gif");
        
/// <summary>
        
/// Btn-ll.gif
        
/// </summary>
        public static string Btn_ll = string.Format(Pattern, "Btn-ll.gif");
        
/// <summary>
        
/// Btn-psfs.gif
        
/// </summary>
        public static string Btn_psfs = string.Format(Pattern, "Btn-psfs.gif");
        
/// <summary>
        
/// Btn-qd.gif
        
/// </summary>
        public static string Btn_qd = string.Format(Pattern, "Btn-qd.gif");
        
/// <summary>
        
/// Btn-qr.gif
        
/// </summary>
        public static string Btn_qr = string.Format(Pattern, "Btn-qr.gif");
        
/// <summary>
        
/// Btn-qrdd.gif
        
/// </summary>
        public static string Btn_qrdd = string.Format(Pattern, "Btn-qrdd.gif");
        
/// <summary>
        
/// Btn-qrwwtj.gif
        
/// </summary>
        public static string Btn_qrwwtj = string.Format(Pattern, "Btn-qrwwtj.gif");
        
/// <summary>
        
/// Btn-qx.gif
        
/// </summary>
        public static string Btn_qx = string.Format(Pattern, "Btn-qx.gif");
        
/// <summary>
        
/// Btn-qy.gif
        
/// </summary>
        public static string Btn_qy = string.Format(Pattern, "Btn-qy.gif");
        
/// <summary>
        
/// Btn-sc.gif
        
/// </summary>
        public static string Btn_sc = string.Format(Pattern, "Btn-sc.gif");
        
/// <summary>
        
/// Btn-scsxdd.gif
        
/// </summary>
        public static string Btn_scsxdd = string.Format(Pattern, "Btn-scsxdd.gif");
        
/// <summary>
        
/// Btn-scxz.gif
        
/// </summary>
        public static string Btn_scxz = string.Format(Pattern, "Btn-scxz.gif");
        
/// <summary>
        
/// Btn-sqrz.gif
        
/// </summary>
        public static string Btn_sqrz = string.Format(Pattern, "Btn-sqrz.gif");
        
/// <summary>
        
/// Btn-syb.gif
        
/// </summary>
        public static string Btn_syb = string.Format(Pattern, "Btn-syb.gif");
        
/// <summary>
        
/// Btn-syy.gif
        
/// </summary>
        public static string Btn_syy = string.Format(Pattern, "Btn-syy.gif");
        
/// <summary>
        
/// Btn-tg.gif
        
/// </summary>
        public static string Btn_tg = string.Format(Pattern, "Btn-tg.gif");
        
/// <summary>
        
/// Btn-tijiao.gif
        
/// </summary>
        public static string Btn_tijiao = string.Format(Pattern, "Btn-tijiao.gif");
        
/// <summary>
        
/// Btn-tj.gif
        
/// </summary>
        public static string Btn_tj = string.Format(Pattern, "Btn-tj.gif");
        
/// <summary>
        
/// Btn-tjbbc.gif
        
/// </summary>
        public static string Btn_tjbbc = string.Format(Pattern, "Btn-tjbbc.gif");
        
/// <summary>
        
/// Btn-tjdd.gif
        
/// </summary>
        public static string Btn_tjdd = string.Format(Pattern, "Btn-tjdd.gif");
        
/// <summary>
        
/// Btn-wfk.gif
        
/// </summary>
        public static string Btn_wfk = string.Format(Pattern, "Btn-wfk.gif");
        
/// <summary>
        
/// Btn-wqr.gif
        
/// </summary>
        public static string Btn_wqr = string.Format(Pattern, "Btn-wqr.gif");
        
/// <summary>
        
/// Btn-xg.gif
        
/// </summary>
        public static string Btn_xg = string.Format(Pattern, "Btn-xg.gif");
        
/// <summary>
        
/// Btn-xyb.gif
        
/// </summary>
        public static string Btn_xyb = string.Format(Pattern, "Btn-xyb.gif");
        
/// <summary>
        
/// Btn-xyy.gif
        
/// </summary>
        public static string Btn_xyy = string.Format(Pattern, "Btn-xyy.gif");
        
/// <summary>
        
/// Btn-yc.gif
        
/// </summary>
        public static string Btn_yc = string.Format(Pattern, "Btn-yc.gif");
        
/// <summary>
        
/// Btn-yfk.gif
        
/// </summary>
        public static string Btn_yfk = string.Format(Pattern, "Btn-yfk.gif");
        
/// <summary>
        
/// Btn-zffs.gif
        
/// </summary>
        public static string Btn_zffs = string.Format(Pattern, "Btn-zffs.gif");
        
#endregion

        
public static string ResolveBtnImg(string text)
        {

            
// text = GetPYString(text);

            
//System.Math.Cos(33);

            
//Type theMathType = Type.GetType("System.Math");
            
//Type[] parameterTypes = new Type[1];
            
//parameterTypes[0] = Type.GetType("System.Double");
            
//MethodInfo CosinInfo = theMathType.GetMethod("Cos", parameterTypes);
            
//Object[] parameters = new Object[1];
            
//parameters[0] = 45;
            
//Object result = CosinInfo.Invoke(null, parameters);
            
//Console.WriteLine(result.ToString());
            /*
            Type BstrType = typeof(ButtonImages);

            FieldInfo finfo = BstrType.GetField("Btn_" + text);
            string img = finfo.GetValue(null) as string;
            
*/
            
string py = GetPYString(text);
            
return string.Format(PatternMethod, "Btn-"+py +".gif",text);

        }

        
/// <summary>
        
/// 汉字转拼音缩写
        
/// </summary>
        
/// <param name="str">要转换的汉字字符串</param>
        
/// <returns>拼音缩写</returns>
        private static string GetPYString(string str)
        {
            
string tempStr = "";
            
foreach (char c in str)
            {
                
if ((int)c >= 33 && (int)c <= 126)
                {
//字母和符号原样保留
                    tempStr += c.ToString();
                }
                
else
                {
//累加拼音声母
                    tempStr += GetPYChar(c.ToString());
                }
            }
            
return tempStr;
        }

        
/// <summary>
        
/// 取单个字符的拼音声母
        
/// </summary>
        
/// <param name="c">要转换的单个汉字</param>
        
/// <returns>拼音声母</returns>
        private static string GetPYChar(string c)
        {
            
byte[] array = new byte[2];
            array 
= System.Text.Encoding.Default.GetBytes(c);
            
int i = (short)(array[0- '\0'* 256 + ((short)(array[1- '\0'));

            
if (i < 0xB0A1return "*";
            
if (i < 0xB0C5return "a";
            
if (i < 0xB2C1return "b";
            
if (i < 0xB4EEreturn "c";
            
if (i < 0xB6EAreturn "d";
            
if (i < 0xB7A2return "e";
            
if (i < 0xB8C1return "f";
            
if (i < 0xB9FEreturn "g";
            
if (i < 0xBBF7return "h";
            
if (i < 0xBFA6return "g";
            
if (i < 0xC0ACreturn "k";
            
if (i < 0xC2E8return "l";
            
if (i < 0xC4C3return "m";
            
if (i < 0xC5B6return "n";
            
if (i < 0xC5BEreturn "o";
            
if (i < 0xC6DAreturn "p";
            
if (i < 0xC8BBreturn "q";
            
if (i < 0xC8F6return "r";
            
if (i < 0xCBFAreturn "s";
            
if (i < 0xCDDAreturn "t";
            
if (i < 0xCEF4return "w";
            
if (i < 0xD1B9return "x";
            
if (i < 0xD4D1return "y";
            
if (i < 0xD7FAreturn "z";

            
return "*";
        }


    }
原文地址:https://www.cnblogs.com/68681395/p/1266624.html