我想编写一个C#方法,但是参数个数不确定,类型也不确定。比如:public static 方法名 (参数个数和类型不确定){}方法返回值类型也不确定,支持自定义吗?
参数个数和类型也不确定,支持自定义吗?
还有个需求,就是在这些参数个数和类型不确定中,需要加入一个参数,这个参数类型是另外一个方法。汗,我的C#基本功不太好,写不出来了,头疼啊头疼请各位指点一下,不胜感激。
参数个数和类型也不确定,支持自定义吗?
还有个需求,就是在这些参数个数和类型不确定中,需要加入一个参数,这个参数类型是另外一个方法。汗,我的C#基本功不太好,写不出来了,头疼啊头疼请各位指点一下,不胜感激。
public static T Method<T>(DelegateMethod delegateMethod,Params[] T items)
{
//操作
}
类型也不确定:有泛型和泛型约束
这个参数类型是另外一个方法:好吧,还有委托.
public static T Method<T>(DelegateMethod delegateMethod,params T items)
{
T result=default(T);
//操作
return result;
}
要完成楼主的想法,要涉及的东西有点多,都不是很好理解
类型不确定用泛型 T Method<T>;给个例子你参考:
1: public delegate void Operate<in T>(T instance); //泛型参数,接收多参数
2: class Program
3: {
4: static void Main()
5: {
6: Operate<Foo> opFoo = new Operate<Foo>(DoSth); //泛型类型接收不同类型
7: Operate<Bar> opBar = opFoo;
8: opBar(new Bar());
9: }
10: static void DoSth(Foo foo)
11: {
12: //Others...
13: }
14: }
public class Test<TDataContext> where TDataContext:DataContext,new()
{
public T GetEntity<T>(Expression<Func<T, bool>> predicate) where T : class
{
TDataContext db = new TDataContext();
db.Connection.ConnectionString = connStr;
return db.GetTable<T>().Where(predicate).FirstOrDefault();
}
}