C# 如何给自定义类的属性添加方法
如题我是问想,我这有一个类AclassAA{publicintA{get;set;}}我如何给这个属性A添加一个Add()方法,就像我们平常在用.net类库时那样,能在属...
如题
我是问想,我这有一个类A
class AA
{
public int A{get;set;}
}
我如何给这个属性A添加一个Add()方法,就像我们平常在用.net类库时那样,能在属性后使用方法,例如:Queue q = new Queue(); q.Count.CompareTo(10);
请问用什么方法 展开
我是问想,我这有一个类A
class AA
{
public int A{get;set;}
}
我如何给这个属性A添加一个Add()方法,就像我们平常在用.net类库时那样,能在属性后使用方法,例如:Queue q = new Queue(); q.Count.CompareTo(10);
请问用什么方法 展开
6个回答
展开全部
你可以把返回类型“int”改成你自定义的一个类如:
public B A{get{};set {};} ;
然后在B类内写方法
class B
{void a(){}};
然后这样调用:
AA aa=new AA();
B b=new B();
aa.A=b;//因为属性的返回类型是对象,所以把对象的地址赋给此属性就可以找到访问了
aa.A.a();就可以了;
public B A{get{};set {};} ;
然后在B类内写方法
class B
{void a(){}};
然后这样调用:
AA aa=new AA();
B b=new B();
aa.A=b;//因为属性的返回类型是对象,所以把对象的地址赋给此属性就可以找到访问了
aa.A.a();就可以了;
追问
能详细点吗
public B A{get{};set {};}这个能写明白一点吗?
追答
你先定义一个字段如:private B a;//B是一个类
public B A{get{return a; };set {a=value;};}//返回的是一个对象
展开全部
一看你就是个初学者,讲太多了你也不懂。用扩展方法可以实现,给你一段代码自己参考吧!
class AA
{
public int A{get;set;}
public static void Main()
{
AA a=new AA();
a.A=5;
a.A = a.A.Add(5);
Console.WriteLine(a.A);
}
}
public static class IntExtend
{
public static int Add(this int a,int b)
{
return a+=b;
}
}
得是.Net3.5以上版本才支持。
class AA
{
public int A{get;set;}
public static void Main()
{
AA a=new AA();
a.A=5;
a.A = a.A.Add(5);
Console.WriteLine(a.A);
}
}
public static class IntExtend
{
public static int Add(this int a,int b)
{
return a+=b;
}
}
得是.Net3.5以上版本才支持。
追问
初学者??
我用的是VS2008,一看你就知道你是用VS2010
VS2008还没有这个,我看我还是试试用委托或者映射吧
追答
谁说vs2008 没有 用framework3.5就可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class AA
{
private int a;
public int A
{
get { return a; }
set { a = value; }
}
public int Count(int b)
{
return A + b;
}
}
AA a1=new AA();//实例化AA
a1.A=12;//给属性a赋值
int result=a1.Count(24);//调用Count方法
{
private int a;
public int A
{
get { return a; }
set { a = value; }
}
public int Count(int b)
{
return A + b;
}
}
AA a1=new AA();//实例化AA
a1.A=12;//给属性a赋值
int result=a1.Count(24);//调用Count方法
追问
问非所答
追答
懂你的意思了 那你就实现系统接口了
你举的例子不是给属性添加自定义方法 CompareTo不是自定义的方法 是系统给的
你所举的例子里 q.count是一个int类型数据 系统类库里int型实现了ICompare接口 所以只要是int类型的数据 都可以调用CompareTo(int num)这个方法
实现ICompare接口
你成语用错了 “答非所问”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class AA
{
public BB A{get;set;}
}
class BB
{
public Add(){}
}
这样就能调用A.Add();了,明白了不? 当然在调用之前需要 A= new BB();
{
public BB A{get;set;}
}
class BB
{
public Add(){}
}
这样就能调用A.Add();了,明白了不? 当然在调用之前需要 A= new BB();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class className
public int sum(int a,int b)
{
return a+b;
}
引用:className.sum(1,2)
public int sum(int a,int b)
{
return a+b;
}
引用:className.sum(1,2)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询