在asp.net里,如何去掉字符串变量两边的双引号???

2024-12-29 01:52:26
推荐回答(5个)
回答1:

同学,你现在的问题不在于如何去掉双引号,你读出来的肯定是字符串变量,不能直接作为方法使用,要通过反射来执行方法。

string assemblyName = "程序集名称";
string className = assemblyName + ".类名";
string methodName = String.Empty;//方法名,即你所说的字符串变量
string result = String.Empty;

Assembly ass = Assembly.Load(assemblyName);
Object obj = ass.CreateInstance(className);
Type type = ass.GetType(className); // 注意这里如果使用Type.GetType来取得Type的话,那麼assemblyName指定的类一定要是强命名的
// 动态调用无参数的方法
MethodInfo methodInfo = type.GetMethod(methodName);
result = (string)methodInfo.Invoke(obj, null);
Response.Write(methodName + "方法的返回值:" + result + "
");
// 动态调用有参数的方法
Object[] methodParams = new Object[1];
methodParams[0] = DateTime.Now;
MethodInfo method = type.GetMethod(methodName);
result = (string)method.Invoke(obj, methodParams);
Response.Write(methodName + "方法的返回值:" + result + "
");

回答2:

using System;
using System.Reflection;
namespace testReflect
{
    class Program
    {
        static void Main(string[] args)
        {
            //"F"就是你数据库的字符串,类名注意命名空间
            string className = "testReflect.C";
            Type t = Type.GetType(className);
            object c = Activator.CreateInstance(t, false);
            t.GetMethod("F").Invoke(c, null);
            Console.ReadLine();
        }

    }
    public class C
    {
        public void F()
        {
            Console.WriteLine("调用了方法!");
        }
    }
}

回答3:

你可以在asp.net 里把你得到的方法名用 Trim('"') 处理下比如 “"Method"”.Trim('"')
也可以在插入到数据库的时候在SQL语句里执行replace动作去掉

回答4:

你的问题问的不对。

	[STAThread]
static public void Main(string[] args)
{
        var myClass = new MyClass();

    var methodInfo = myClass.GetType().GetMethod("Test");
    var result = methodInfo.Invoke(myClass, null);
    Debug.WriteLine(result);
}

    class MyClass
    {
        public string Test()
        {
            return "我是测试函数";
        }
    }

回答5:

你去掉双引号的话 直接substring 截取不久行了。