一个组合类问题,对象添加不上,错误!,忘高手探讨!!
来源:互联网 发布:温州炒房团历史知乎 编辑:程序博客网 时间:2024/05/21 08:51
我是想 做一个线路动态的例子,线路动态包括全市区的线路line_f ,每一条具体线路 line_c 和单独线段line
1. Line 基本线段类
2. Line_c 线段集合类 (也称线树类)
3. line_f 全部线段类(也称线段群类)
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
一 线段类
namespace BUS_S
{
#region
/// <summary> line
/// class line
/// </summary>
public class line
{
public int x1;
public int y1;
public int x2;
public int y2;
public int weight;
public int Win32Color;
public string lineid;//
public line( string name)
{
lineid = name;//线段的编号
}
public line(int Win32Color, int x1, int y1, int x2, int y2)
{
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
this.Win32Color = Win32Color;
}
public void draw(Graphics g)
{
g.DrawLine(new Pen(ColorTranslator.FromWin32(Win32Color)), x1, y1, x2, y2);
}
}
#endregion
}
二 线段集合
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Collections;
namespace BUS_S
{
public class line_c
{
public ArrayList linesG;//线段组
public string linename;
public line_c ()
{
linesG = new ArrayList();//所有的线段组
}
public line_c(string name)
{
linename = name;
linesG = new ArrayList();//所有的线段组
}
public void clear()
{
linesG.Clear();
}
public void removelastline()
{
int s = linesG.Count;
if (s >= 0)
{
linesG.RemoveAt(s - 1);
}
}
public void add(line l)
{
linesG.Add(l);
}
public void draw(Graphics g)
{
foreach (line l in linesG) //按照线在集合中的顺序依次画出,采用基类的方法
{
l.draw(g);
}
}
}
}
三 全部线段类
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Drawing;
using System.Windows.Forms;
namespace BUS_S
{
public class line_f
{
public List<line_c> LineQun;
public string lineForest_name ;//线路的名字
public string clor;
public line_f()
{
List<line_c> LineQun = new List<line_c>();
}
public line_f(string name)
{
lineForest_name = name;
List<line_c> LineQun = new List<line_c>();
}
public void clear()
{
LineQun.Clear();
}
public void removeLine_C()
{
int s = LineQun.Count;
if (s >=0)
{
LineQun.RemoveAt(s - 1);
}
}
/// <summary>
///
/// </summary>
/// <param name="l"></param>
public void add(line_c l)
{
//MessageBox.Show("传递过来的参数"+l.);
LineQun.Add(l);
}
public void draw(Graphics g)
{
foreach (line_c l in LineQun)
{
l.draw(g);
}
}
}
}
四 调用,想在 全部线对象中加入一个线树的对象。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace BUS_S
{
public partial class Form1 : Form
{
private line_f linesQunObj = new line_f("线的群");//群的实例
// private line_c linescPointer;//定义类型,在后面指向对象
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
line_c linecObj = new line_c("我是一个线树");
linesQunObj.add(linecObj);
}
}
}
然而出现错误!!
跟踪结果:
为什么上面的lineQun加不上啊 !!!!!
它是空的正常 啊 !因为刚创建就是空的啊!!
lixinhai@163.com 联系我 我惨极了,链条网线也没有!自己好不容易在网吧发的!!
- 一个组合类问题,对象添加不上,错误!,忘高手探讨!!
- 一个设计上的问题,高手帮解决下
- MT6260D SPI 的问题,求高手探讨
- 对js的类进行面向对象扩展,我已经完成,希望高手来探讨
- 不相邻组合问题
- 关于应用程序出现窗口不完整,GDI对象猛增,GDI资源泄漏的问题的探讨
- 关于在navigationItem.titleView上添加button不显示问题
- 一个组合问题
- 组合问题一个
- 一个组合问题
- 请教各位高手一个问题?
- 向高手请教一个问题?
- 小鸟 组合模式 构造函数 传入一个新的接口实现对象 添加新功能
- 探讨一个问题:在不同半径的圆周上等距采样的信息量
- 关于Objective-C 对象release操作的一个小问题探讨
- 关于Objective-C 对象release操作野指针的一个小问题探讨
- 关于Objective-C 对象release操作的一个小问题探讨
- 关于Objective-C 对象release操作的一个小问题探讨
- 液晶显示器刷新率
- OpenGL实例程序
- java c标签用法
- Juit4 spring testContext 新特性及遇到的问题
- Linq练习题
- 一个组合类问题,对象添加不上,错误!,忘高手探讨!!
- NET中的三种Timer的区别和用法(转)
- Subversion和同步存储工具结合实现异地复制版本库
- CFile 类 文件操作 应用日志
- 初学编写linux内核模块
- 兼容ie6、ie7、ie8 和FF的本地上传图片预览,并客户端判断文件大小和文件格式
- XML 注释 注意事项
- C51:串口通信接收与发送
- android应用程序四大组件