<div dir="ltr">Please open an issue or two in github :) But I looked through the code and do not see any python or pythonnet calls. Can you describe the problem from the pythonnet side? Did you find that explicit interfaces do not work? Anyway, I learned something new today.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 25, 2016 at 7:33 AM, Henning Moeller <span dir="ltr"><<a href="mailto:HMoeller@comprion.com" target="_blank">HMoeller@comprion.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="DE" link="#0563C1" vlink="#954F72">
<div>
<p class="MsoNormal">Hello out there,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span lang="EN-US">I’ve come across an issue with calling a method of an instance which ends up being an explicitly implemented interface method. Let me explain with a very brief example:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Consider this a very basic interface:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">[File: ISomeInterface.cs]<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">namespace</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 PythonInterfaceCalls<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">{<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">public</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">interface</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">ISomeInterface</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">    {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">       
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">void</span><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> ImplicitImplementation();<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">       
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">void</span><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> ExplicitImplementation();<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">    }<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">}<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">And here’s an implementing class. Note one of the methods being implicitly implemented, the other being explicitly implemented:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">[File: SomeImplementation.cs]<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">using</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 System;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">namespace</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 PythonInterfaceCalls<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">{<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">public</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">class</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">SomeImplementation</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">:
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">ISomeInterface</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">    {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">       
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">public</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">void</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> ImplicitImplementation()<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">           
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Console</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">.WriteLine(</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#a31515;background:white">"Call
 of implicitly implemented interface method."</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">);<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        }<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">       
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">void</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">ISomeInterface</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">.ExplicitImplementation()<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">           
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Console</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">.WriteLine(</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#a31515;background:white">"Call
 of explicitly implemented interface method."</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">);<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">       
</span><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">}<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">    }<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">}<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Note the method headers. While the implicit implementation is (and has to be) public, the explicit implementation is (and has to be) internal. Both methods work well in C# (as long as the instance is casted into the interface
 type). See the unit tests, both passing:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">[File: TestImplementation.cs]<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">using</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 System;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">using</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 System.IO;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">using</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 NUnit.Framework;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">namespace</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 PythonInterfaceCalls<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">{<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">    [</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">TestFixture</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">]<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">public</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">class</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">TestImplementation</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">    {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        [</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Test</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">]<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">       
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">public</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">void</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> TestImplicitCall()<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">           
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">var</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> implementation
 = </span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">new</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">SomeImplementation</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">()
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">as</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">ISomeInterface</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">           
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">using</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> (</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">StringWriter</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 sw = </span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">new</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">StringWriter</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">())<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">            {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">               
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Console</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">.SetOut(sw);<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">                implementation.ImplicitImplementation();<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">               
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Assert</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">.AreEqual(</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#a31515;background:white">"Call
 of implicitly implemented interface method.\r\n"</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">, sw.ToString());<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">            }<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        }<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        [</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Test</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">]<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">       
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">public</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">void</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> TestExplicitCall()<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">           
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">var</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> implementation
 = </span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">new</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">SomeImplementation</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">()
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">as</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">ISomeInterface</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">           
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">using</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> (</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">StringWriter</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 sw = </span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">new</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">StringWriter</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">())<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">            {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">               
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Console</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">.SetOut(sw);<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">                implementation.ExplicitImplementation();<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">               
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Assert</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">.AreEqual(</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#a31515;background:white">"Call
 of explicitly implemented interface method.\r\n"</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">, sw.ToString());<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">           
</span><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">}<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        }<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">    }<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">}<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">This should be solvable using the following method to access all interface members, not just the publicly available ones:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">[File: InterfaceMembersExtension.cs]<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">using</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 System;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">using</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 System.Collections.Generic;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">using</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 System.Reflection;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">namespace</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
 PythonInterfaceCalls<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">{<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">   
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">public</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">static</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">class</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">InterfaceMembersExtension</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">    {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">       
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">public</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">static</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">IList</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"><</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">MethodInfo</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">>
 GetImplementedMethods(</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">this</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Type</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> targetType,
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:#2b91af;background:white">Type</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> interfaceType)<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">        {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">           
</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:blue;background:white">return</span><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white"> targetType.GetInterfaceMap(interfaceType).TargetMethods;<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.5pt;font-family:Consolas;color:black;background:white">       
</span><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">}<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">    }<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;background:white">}<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Please find the complete solution attached to this mail.
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Is there a chance that this will be implemented in PythonNet?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks in advance,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Hennnig<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
</div>

<br>_________________________________________________<br>
Python.NET mailing list - <a href="mailto:PythonDotNet@python.org">PythonDotNet@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/pythondotnet" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/pythondotnet</a><br></blockquote></div><br></div>