草庐IT

反射面

全部标签

java - 在工厂模式中使用反射

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion在工厂模式中使用反射是一种好的做法吗?publicclassMyObjectFactory{privatePartyparty;publicPartygetObject(StringfullyqualifiedPath){Classc=Class.forName(fullyqualifiedPath);party=(PersonalParty)c.newInstance();returnp

Java 反射 : get instances of a given class found by entering its name?

是否可以通过以字符串形式输入类的名称来获取类的所有实例?是这样的吗?varinstances=Reflection.findClass("com.someone.MyClass").getInstances();欢迎任何反馈。谢谢。 最佳答案 不,没有类似的东西可用。如果您连接到调试API,您也许能够做到这一点,但在“正常”运行时则不行。 关于Java反射:getinstancesofagivenclassfoundbyenteringitsname?,我们在StackOverflow上

Java 反射 API : Invoking a method without parameters

我要调用的方法(我知道它是公共(public)的,但我需要使用反射):publicbyte[]myMethod()我得到这样的Method对象并且m包含myMethod()(我用调试器检查过)Methodm=Class.forName(MyClass.class.getName()).getDeclaredMethod("myMethod");最后我需要调用m并将结果传递给一个对象:byte[]myBytes=null;m.invoke(myBytes);没有抛出异常,但myBytes保持为空......我也尝试了以下但没有成功:m.invoke(myBytes,(Object[])n

java - 在编译类中不进行反射的序列化

由于客户端JVM的限制,由于不支持反射,我无法使用任何流行的序列化程序。我正在寻找一种执行字节码操作的工具,通过将编写器和读取器方法注入(inject)已编译的类来实现序列化。我需要字节码操作java代码来将其与我的代码绑定(bind)以构建过程。我一直在通过生成代码并将其注入(inject)源代码,然后再编译以使用我的自定义序列化程序来执行此操作。我想避免这种方法,因为我不想让您以任何方式修改源文件。我知道Kryo和其他XML和JSON序列化程序,但它们不符合我的需求。谢谢。 最佳答案 尝试javassist.对于您的特定项目,它

【创建型设计模式】C#设计模式之工厂模式,以及通过反射实现动态工厂。

题目如下:假设你正在为一家汽车制造公司编写软件。公司生产多种类型的汽车,包括轿车、SUV和卡车。每种汽车都有不同的特点和功能。请设计一个工厂模式,用于创建不同类型的汽车对象。该工厂模式应具有以下要求:工厂类名为CarFactory,包含一个静态方法CreateCar,根据传入的参数类型,返回对应类型的汽车对象。汽车类Car是一个抽象类,包含一个抽象方法Drive,用于描述汽车的驾驶行为。轿车类Sedan继承自Car类,实现了Drive方法,在Drive方法中输出“驾驶轿车”。SUV类继承自Car类,实现了Drive方法,在Drive方法中输出“驾驶SUV”。卡车类Truck继承自Car类,实现

python - 为什么是 (lt, gt) 和 (le, ge) 反射而不是 (lt, ge) 和 (le, gt)?

在Basiccustomisation,python文档说明了比较方法:[noswapped-argumentversionsofthesemethods];rather,__lt__()and__gt__()areeachother’sreflection,__le__()and__ge__()areeachother’sreflection,and__eq__()and__ne__()aretheirownreflection.我不会对__lt__()感到惊讶和__ge__()成为彼此的反射(reflect)(以及__le__()和__gt__())。虽然文档还说明:…noothe

python - 如何使用 Pony ORM 反射(reflect)数据库对象?

我有一个现有的MySQL数据库,我想使用PonyORM反射(reflect)出来.我知道我可以使用SQLAlchemy做到这一点:engine=create_engine(...)Base=declarative_base(metadata=MetaData(bind=engine))......classMyTable(Base):__table__=Table('table_name',Base.metadata,autoload=True)有没有类似的方法可以对PonyORM做同样的事情?我在网站上找不到相关信息。 最佳答案

python - 如何使用反射和描述性语法覆盖 sqlalchemy 中的列名

您好,我正在尝试使用sqlalchemy将遗留应用程序移植到python。应用程序现有的数据库大约有300个表,每个表中都有一个名为def的列,例如:createtableaccnt(codevarchar(20),defvarchar(50)--foraccntdefinition,...)因此,当使用声明性语法和反射时,我可以轻松地创建我的类:classAccnt(Base):__table__=Table('accnt',metadata,autoload=True,autoload_with=engine)但是当我尝试到达def列时,我最终得到了一个错误。例如:q=sessio

Python 反射和类型转换

在Python中,一般使用str()、int()、float()等函数来进行类型转换。但是,这些要求您在开发时就知道要转换成什么类型​​。我尝试编写的一些Python代码的子问题如下:给定两个变量,foo和bar,找到foo的类型。(在开发时不知道,因为这是通用代码。)然后,尝试将bar转换为foo的任何类型。如果无法做到这一点,则抛出异常。例如,假设您调用执行此操作的函数conv。它的签名看起来像defconv(foo,bar):#Dostuff.它会被称为:result=conv(3.14,"2.718")#resultisnow2.718,asafloat.