私はIronPythonを使用してC#dllから内部クラスを取得しています。例えば :IronPythonは内部クラスをC#dllから取得します
namespace Platform.CardHost {
internal class ExtensionManager : IExtensionManager, IDisposable {
//... other code
IronPythonのコード
import clr
clr.AddReference('Platform.CardHost')
import Platform.CardHost.ExtensionManager
# raise ImportError: No module named ExtensionManager
# if it add to ref
clr.AddReference('Platform.CardHost.ExtensionManager')
# raise Error
# IOError: System.IO.IOException: Could not add reference to assembly
# Platform.CardHost.ExtensionManager
どのように私はExtensionManager
をインポートすることができますか?またはこれは不可能ですか?だから、
なぜ 'ExtensionManager'公開をしていませんか?あなたはそれを内部として定義したので、インポートする理由はありません。 '型またはメンバは、同じアセンブリ内の任意のコードでアクセスできますが、別のアセンブリからはアクセスできません.'は' internal'の定義です。別のアセンブリでそれを使用したい場合は、公開してください。 –
それは私のコードではありません((私はクラスを変更することはできません。私はdllを逆アセンブルし、変更して再度組み立てることはできますか? – madjardi