两个类之间传值

Neusoft06 2013-05-02 10:26:36
A类和B类
我想让B类得到A类处理的结果
A类的构造函数有很多参数,参数来源比较复杂
所以我不同New B类来访问

我现在的做法是做个抽象类
在抽象类做个静态变量和接受B类的方法
A类通过这个抽象类得到B类数据

这种做法有问题吗
还有什么其他方法么

用事件,委托 不知道哪个类里面写
B类能访问A类
A不能访问B

...全文
241 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-05-02
  • 打赏
  • 举报
回复
a -> b 属性、方法 a <- b(由a发起调用)委托、事件
wangmeng159 2013-05-02
  • 打赏
  • 举报
回复
在A类中写这样的
 public delegate void OpenClosedEvent(object sender, OpenCloseEventArgs args);
        public OpenClosedEvent OnOpenClose;
        //定义的委托
        public void OpenClose(bool isOpen)
        {
            IsOpend = isOpen;
            OpenCloseEventArgs args = new OpenCloseEventArgs() { IsOpen = isOpen };
            if (OnOpenClose != null)
            {
                OnOpenClose(this, args);
            }
        }
B类 中, A a=new A() a.OnOpenClose+=new OpenClosedEvent(OpenClosedEventges); void OpenClosedEventges(object sender, OpenCloseEventArgs args) { 参数可以通过定义OpenCloseEventArgs 类型,或者 object类型传过来 }
雪菜粥 2013-05-02
  • 打赏
  • 举报
回复
直接调用一下啊
Neusoft06 2013-05-02
  • 打赏
  • 举报
回复
写错了不能编辑 修正 -------------------- A类和B类 我想让B类得到A类处理的结果 A类的构造函数有很多参数,参数来源比较复杂 在B类里不用New A类来访问 我现在的做法是做个抽象类 在抽象类做个静态变量和接受B类的方法 B类通过这个抽象类得到A类数据 这种做法有问题吗 还有什么其他方法么 用事件,委托 不知道哪个类里面写 B类能访问A类 A不能访问B
bdmh 2013-05-02
  • 打赏
  • 举报
回复
事件委托是个不错的方法
Neusoft06 2013-05-02
  • 打赏
  • 举报
回复
引用 7 楼 shencb 的回复:
楼主是neusoft? 写jQuery详解文章的那位吗?
NONONO
dacan66 2013-05-02
  • 打赏
  • 举报
回复
楼主是neusoft? 写jQuery详解文章的那位吗?
Neusoft06 2013-05-02
  • 打赏
  • 举报
回复
不想用 A a=new A() a.OnOpenClose+=new OpenClosedEvent(OpenClosedEventges); 这种方式调用 有什么办法吗

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧