在.Net中,给定一个类型名称,是否有一个方法告诉我在哪个程序集(System.Reflection.Assembly的实例)中定义了该类型?
我假设我的项目已经有了对该程序集的引用,只需要知道它是哪一个.
假设我有一个对象的实例,我知道它属于通过C#中超类型的引用传递给我的某个子类型的子类,我习惯于看到类似Java的方式完成类型转换(假设"引用"是超类型):
if (reference is subtype){
subtype t = (subtype)reference;
}
Run Code Online (Sandbox Code Playgroud)
但是最近我遇到过这样做的例子:
if (reference is subtype){
subtype t = reference as subtype;
}
Run Code Online (Sandbox Code Playgroud)
这两个完全相同吗?有什么区别吗?
我需要移植一些代码,这些代码严重依赖于从CPython应用程序到IronPython的lxml.
lxml非常Pythonic,我想在IronPython下继续使用它,但它依赖于libxslt和libxml2,它们是C扩展.
有没有人知道在IronPython下允许lxml或没有那些C-extension依赖项的lxml版本的变通方法?