最近要用混合编程,所以在学习C#,现在有个C#的库,里面有个double型的classpublic class Point3D
{
public double X;
...
}我希望用int代替double来存数据,但这个库没有源代码,所以想当然的在派生类中重新定义xpublic class TestPoint3D : Point3D
{
public int X;
...
}测试如下: Point3D aTestPoint3D = new TestPoint3D();发现没有成功。请问我怎么样使用int型数据?
{
public double X;
...
}我希望用int代替double来存数据,但这个库没有源代码,所以想当然的在派生类中重新定义xpublic class TestPoint3D : Point3D
{
public int X;
...
}测试如下: Point3D aTestPoint3D = new TestPoint3D();发现没有成功。请问我怎么样使用int型数据?
希望是两种方案:
1. 最好的是生成的数据里只有int型 x,
2 .同时有int和double型 x,但double型从来不用,浪费点空间没关系
然后写一个函数,作为处理X的接口。
这种写法是无论如何不可能实现楼主的想法的。
这样定义完后aTestPoint3D在编译器看来就是完全的
Point3D。因此肯定是显示的double.
不知道楼主为什么一定要这样的需求,变通下吧!
{
public double X; } public class TestPoint3D : Point3D
{
public int X
{
get
{
return int.Parse(base.X);
}
set
{
base.X = value;
}
}
}这样不知道能满足楼主需求不》
即使变量名相同,也不会同时发生改变,而是各存各的!
{
public T X; }