object就像一个箱子一样,把你要传的东西装进去。比如:
public object getInfo(string code)
这个方法要获得wellInfo类型的return值,但是只返回一个object类型的值,就相当于把返回值装到一个箱子里,你用的时候要拆箱wellInfo objwellInfo=(wellInfo)getInfo(code)
public object getInfo(string code)
这个方法要获得wellInfo类型的return值,但是只返回一个object类型的值,就相当于把返回值装到一个箱子里,你用的时候要拆箱wellInfo objwellInfo=(wellInfo)getInfo(code)
public object getInfo(string code)
{
(code)
return (wellInfo)getInfo(code)
}
我不知道该怎么用呀!请大家指点指点
object类型。
应该:
public wellInfo getInfo(string code)
{
return (wellInfo)getInfo(code);
}
public wellInfo getwellInfo(string code)
{
return (wellInfo)getInfo(code);
}
{
///////////////////////////////////////////////////////////////////////
///该类的字段
///////////////////////////////////////////////////////////////////////
private string strWellCd;//机井编号
private string strWellCd1;//机井校验编号
..
private SqlConnection m_Conn= new SqlConnection(ConfigurationSettings.AppSettings["数据库路径"]); ///////////////////////////////////////////////////////////////////////
///该类的属性
///////////////////////////////////////////////////////////////////////
public string WellCd
{
get
{
return strWellCd;
}
set
{
strWellCd=value;
}
} public string WellCd1
{
get
{
return strWellCd1;
}
set
{
strWellCd1=value;
}
}
protected wellInfo Wellinfo; public wellInfo getInfo(string code)
{
//
// TODO: 在此处添加构造函数逻辑
//
// this.strWellCd=code;
m_Conn.Open();;
SqlCommand cmdMsg = new SqlCommand("select wellcd,wellcd1 from wellinfo where wellcd='110105006'",m_Conn);
SqlDataReader drMsg = cmdMsg.ExecuteReader();
if(drMsg.Read())
{
strWellCd = drMsg.GetString(0);
strWellCd1 = drMsg.GetString(1); }
drMsg.Close();
m_Conn.Close();
return (wellInfo)getInfo(code); }
public class wellInfo
{
/////////////////////////////////////////////////////
///该类的字段
//////////////////////////////////////////////////////
private string strWellCd;//机井编号
private string strWellCd1;//机井校验编号
..
private SqlConnection m_Conn= new SqlConnection(ConfigurationSettings.AppSettings["数据库路径"]); ////////////////////////////////////////////////////
///该类的属性
////////////////////////////////////////////////////
public string WellCd
{
get
{
return strWellCd;
}
set
{
strWellCd=value;
}
} public string WellCd1
{
get
{
return strWellCd1;
}
set
{
strWellCd1=value;
}
}
protected wellInfo Wellinfo; public wellInfo getInfo(string code)
{
m_Conn.Open();;
SqlCommand cmdMsg = new SqlCommand("select wellcd,wellcd1 from wellinfo where wellcd='110105006'",m_Conn);
SqlDataReader drMsg = cmdMsg.ExecuteReader();
if(drMsg.Read())
{
strWellCd = drMsg.GetString(0);
strWellCd1 = drMsg.GetString(1); }
drMsg.Close();
m_Conn.Close();
return (wellInfo)getInfo(code); }
那你编译能通过吗?如果下面2个方法在同一个类里,能编译通过吗?
public wellInfo getInfo(string code)
public object getInfo(string code)
我想在well类中实现public object getInfo(string code)
它返回的是一个wellInfo的对象
我不知道说明白没有,我都已经晕了
public object getInfo(string code)
{
(code)
return (wellInfo)base.getInfo(code);
}
怎么不对呢?麻烦大侠说清楚点我的问题所在,小弟实在有些笨了
public override object getInfo(string code)
{ return (wellInfo)base.getInfo(code);
}
{ return (wellInfo)base.getInfo(code);
}
In this example, there is a base class, Square, and a derived class, Cube. Because the area of a cube is the sum of the areas of six squares, it is possible to calculate it by calling the Area() method on the base class.// cs_override_keyword.cs
// Calling overriden methods from the base class
using System;
class TestClass
{
public class Square
{
public double x; // Constructor:
public Square(double x)
{
this.x = x;
} public virtual double Area()
{
return x*x;
}
} class Cube: Square
{
// Constructor:
public Cube(double x): base(x)
{
} // Calling the Area base method:
public override double Area()
{
return (6*(base.Area()));
}
} public static void Main()
{
double x = 5.2;
Square s = new Square(x);
Square c = new Cube(x);
Console.WriteLine("Area of Square = {0:F2}", s.Area());
Console.WriteLine("Area of Cube = {0:F2}", c.Area());
}
}