一种将基本类型转换为派生类型的方法
我不确定这是否是一件奇怪的事情,或者这是否是某种代码的味道…但是我想知道是否有一种方法(某种oop模式会很好)“投射”基本类型为其派生类型的形式。我知道这没有多大意义,因为派生类型将具有父级不提供的其他功能,这从根本上来说并不健全。但是有什么方法可以做到这一点吗?这是一个代码示例,以便我可以更好地解释我的要求。
public class SomeBaseClass {
public string GetBaseClassName {get;set;}
public bool BooleanEvaluator {get;set;}
}
public class SomeDerivedClass : SomeBaseClass {
public void Insert(SqlConnection connection) {
//...random connection stuff
cmd.Parameters["IsItTrue"].Value = this.BooleanEvalutar;
//...
}
}
public static void Main(object[] args) {
SomeBaseClass baseClass = new SomeBaseClass();
SomeDerivedClass derClass = (SomeDerivedClass)baseClass;
derClass.Insert(new sqlConnection());
}
我知道这看起来很愚蠢,但是有什么办法可以完成这种事情吗?
-
不太好用“托管”语言。这是 垂头丧气的
,并且没有合理的方法来处理它,这正是您所描述的原因(子类提供的不仅仅是基类-“更多”是从哪里来的?)。如果您确实希望特定层次结构具有类似的行为,则可以将构造函数用于派生类型,这些派生类型会将基本类型作为原型。可以用反射来构建一些可以处理简单情况的东西(没有加法状态的更具体的类型)。通常,只需重新设计就可以避免该问题。
编辑:糟糕,无法在基本/派生类型之间编写转换运算符。微软试图“保护您”免受自己攻击的怪异行为。嗯,至少它们远没有Sun差。
-
强制转换为基本类型的怪异Java行为
2021-01-31 关注 0 浏览81 1答案
-
如何从String转换为基本类型或标准Java包装器类型
2021-01-30 关注 0 浏览88 1答案
-
Java:将集合类型转换为子类型
2021-01-30 关注 0 浏览82 1答案
-
是否可以通过显式类型转换将基类对象分配给派生类引用?
2021-02-02 关注 0 浏览152 1答案
-
一种将一种类型的切片转换为等效类型的切片的优雅方法?
2021-02-01 关注 0 浏览76 1答案
-
java基本类型,String是基本类型吗?
2022-07-21 关注 0 浏览46 1答案
-
Java 语言用以下哪个类来把基本类型数据转换为对象()
2020-12-25 关注 0 浏览93 1答案
-
Java 语言用以下哪个类来把基本类型数据转换为对象()
2020-12-30 关注 0 浏览76 1答案
-
Java 语言用以下哪个类来把基本类型数据转换为对象( )
2020-12-30 关注 0 浏览60 1答案
-
Java 语言用以下哪个类来把基本类型数据转换为对象( )
2020-12-25 关注 0 浏览66 1答案