在asp.net里,如何去掉字符串变量两边的双引号???
把方法名,存入到数据库里,但读出来的是字符串变量,不能直接使用。怎样才能吧双引号去掉?或者有别的什么方法?可以用反射?反射该怎么用?求大神指导!...
把方法名,存入到数据库里,但读出来的是字符串变量,不能直接使用。怎样才能吧双引号去掉?或者有别的什么方法?
可以用反射?反射该怎么用?求大神指导! 展开
可以用反射?反射该怎么用?求大神指导! 展开
5个回答
展开全部
同学,你现在的问题不在于如何去掉双引号,你读出来的肯定是字符串变量,不能直接作为方法使用,要通过反射来执行方法。
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 + "<br/>");
// 动态调用有参数的方法
Object[] methodParams = new Object[1];
methodParams[0] = DateTime.Now;
MethodInfo method = type.GetMethod(methodName);
result = (string)method.Invoke(obj, methodParams);
Response.Write(methodName + "方法的返回值:" + result + "<br/>");
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 + "<br/>");
// 动态调用有参数的方法
Object[] methodParams = new Object[1];
methodParams[0] = DateTime.Now;
MethodInfo method = type.GetMethod(methodName);
result = (string)method.Invoke(obj, methodParams);
Response.Write(methodName + "方法的返回值:" + result + "<br/>");
展开全部
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("调用了方法!");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在asp.net 里把你得到的方法名用 Trim('"') 处理下比如 “"Method"”.Trim('"')
也可以在插入到数据库的时候在SQL语句里执行replace动作去掉
也可以在插入到数据库的时候在SQL语句里执行replace动作去掉
追问
这个不行吧?用trim去掉双引号后得到的还是字符串吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的问题问的不对。
[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 "我是测试函数";
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-22
展开全部
你去掉双引号的话 直接substring 截取不久行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询