内部クラスのリストであるオブジェクトを返す外部アセンブリの関数を使用していますが、コード内でキャストする方法が見つかりません。外部アセンブリ内のC#の別のアセンブリから内部クラスのリストをキャストできません
コード:
namespace AssemblyNamespace
{
internal class InternalClass
{
protected internal byte b;
protected internal int i;
}
public class PublicClass
{
public object PublicMethod()
{
return new List<InternalClass>();
}
}
}
マイコード:
using AssemblyNamespace;
static void Main()
{
PublicClass P = new PublicClass();
object obj = new object();
obj = P.PublicMethod();
// Is it possible to cast obj?
}
それが反射または何か他のものを通じてOBJをキャストすることは可能ですか?私は質問C# - How to access internal class from external assemblyを見ましたが、その提案を使う方法を見つけることができませんでした。
何にキャストしますか? –
同じタイプの 'InternalClass'に' b'と 'i'をアクセスできます。 –
私はいつもパブリック関数の戻り値として内部型を公開できないと考えましたか? "Cが公開されていない限り、クラスCを返すパブリックメソッドMを持つことはできません"、[here](https://msdn.microsoft.com/en-us/library/ms173121.aspx)ジェネリック医薬品のための抜け穴? – dlatikay