Title: RuntimeBinderException - Cannot implicitly convert type 'Python.Runtime.PyObject' to 'System.Collections.Generic.List
Open Graph Title: RuntimeBinderException - Cannot implicitly convert type 'Python.Runtime.PyObject' to 'System.Collections.Generic.List
X Title: RuntimeBinderException - Cannot implicitly convert type 'Python.Runtime.PyObject' to 'System.Collections.Generic.List
Description: Environment Pythonnet version: 2.3.0 Python version: 3.6 (Anaconda 32-bit) Operating System: Windows 10 Details I have the following code: Interface1.cs using System.Collections.Generic; public interface Interface1 { string Test(); List<...
Open Graph Description: Environment Pythonnet version: 2.3.0 Python version: 3.6 (Anaconda 32-bit) Operating System: Windows 10 Details I have the following code: Interface1.cs using System.Collections.Generic; public int...
X Description: Environment Pythonnet version: 2.3.0 Python version: 3.6 (Anaconda 32-bit) Operating System: Windows 10 Details I have the following code: Interface1.cs using System.Collections.Generic; public int...
Opengraph URL: https://github.com/pythonnet/pythonnet/issues/451
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"RuntimeBinderException - Cannot implicitly convert type 'Python.Runtime.PyObject' to 'System.Collections.Generic.List\u003cstring\u003e'","articleBody":"## Environment\r\n\r\n- Pythonnet version: 2.3.0\r\n- Python version: 3.6 (Anaconda 32-bit)\r\n- Operating System: Windows 10\r\n\r\n## Details\r\n\r\nI have the following code:\r\n\r\n### Interface1.cs\r\n\r\n```csharp\r\nusing System.Collections.Generic;\r\n\r\npublic interface Interface1\r\n{\r\n string Test();\r\n\r\n List\u003cstring\u003e GetList();\r\n\r\n List\u003cMyType\u003e GetListOfMyType();\r\n}\r\n\r\npublic class MyType\r\n{\r\n}\r\n```\r\n\r\n### Class1.cs\r\n\r\n```csharp\r\nusing System.Collections.Generic;\r\n\r\nnamespace Python.EmbeddingTest\r\n{\r\n public class Class1 : Interface1\r\n {\r\n public string Test()\r\n {\r\n return \"test\";\r\n }\r\n\r\n public List\u003cstring\u003e GetList()\r\n {\r\n return new List\u003cstring\u003e() { \"testing\" };\r\n }\r\n\r\n public List\u003cMyType\u003e GetListOfMyType()\r\n {\r\n return new List\u003cMyType\u003e() { new MyType(), new MyType() };\r\n }\r\n }\r\n}\r\n```\r\n\r\n### Module1.py\r\n\r\n```python\r\nimport clr\r\n\r\nclr.AddReference(\"Python.EmbeddingTest\")\r\nfrom Python.EmbeddingTest import *\r\n\r\nclass Class2(Class1):\r\n\r\n def Test(self):\r\n return \"Test from Class2\"\r\n \r\n def Method1(self):\r\n return \"Method1\"\r\n```\r\n\r\n### Test\r\n\r\nI am trying to do something like what the following test is trying to do:\r\n\r\n```csharp\r\n[Test]\r\npublic void TestGenericListMarshalling()\r\n{\r\n var scope = Py.Import(\"module1\");\r\n var attr = scope.GetAttr(\"Class2\");\r\n dynamic c2 = attr.Invoke();\r\n List\u003cstring\u003e ls = c2.GetList();\r\n}\r\n```\r\n\r\n### Exception\r\n\r\nHowever, I get the following exception:\r\n\r\n```\r\nMicrosoft.CSharp.RuntimeBinder.RuntimeBinderException occurred\r\n HResult=0x80131500\r\n Message=Cannot implicitly convert type 'Python.Runtime.PyObject' to 'System.Collections.Generic.List\u003cstring\u003e'\r\n Source=Python.EmbeddingTest\r\n StackTrace:\r\n at Python.EmbeddingTest.PyImportTest.TestGenericListMarshalling() in D:\\Users\\Tom\\Dropbox\\Algo Trading\\pythonnet\\src\\embed_tests\\pyimport.cs:line 90\r\n```\r\n\r\nIs it possible to marshall generic .NET Lists?","author":{"url":"https://github.com/tomhunter-gh","@type":"Person","name":"tomhunter-gh"},"datePublished":"2017-04-05T20:10:53.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":10},"url":"https://github.com/451/pythonnet/issues/451"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:57666107-0038-7e00-9dd7-d2ce81ed85b6 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B12A:3DC8AB:3EB5453:54AA591:6970875A |
| html-safe-nonce | 15ab6ab8f685bc7c546961b88fa0e1a57e070b0243510b16f80ecd31fb2c1f95 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMTJBOjNEQzhBQjozRUI1NDUzOjU0QUE1OTE6Njk3MDg3NUEiLCJ2aXNpdG9yX2lkIjoiNjcxOTQyNjY1MjE3OTMwMjIzNSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 8c885427cae7c20643a97e4a92d6ecd39851ef3509912d78447ae8cc122c5c7b |
| hovercard-subject-tag | issue:219700600 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/pythonnet/pythonnet/451/issue_layout |
| twitter:image | https://opengraph.githubassets.com/49e5acf98175788be72d8d97c5ce3d97a76645fc1425996ce6cba0e13e9a9f7e/pythonnet/pythonnet/issues/451 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/49e5acf98175788be72d8d97c5ce3d97a76645fc1425996ce6cba0e13e9a9f7e/pythonnet/pythonnet/issues/451 |
| og:image:alt | Environment Pythonnet version: 2.3.0 Python version: 3.6 (Anaconda 32-bit) Operating System: Windows 10 Details I have the following code: Interface1.cs using System.Collections.Generic; public int... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | tomhunter-gh |
| hostname | github.com |
| expected-hostname | github.com |
| None | 9920a62ba22d06470388e2904804fb7e5ec51c9e35f81784e9191394c74b2bd2 |
| turbo-cache-control | no-preview |
| go-import | github.com/pythonnet/pythonnet git https://github.com/pythonnet/pythonnet.git |
| octolytics-dimension-user_id | 6050430 |
| octolytics-dimension-user_login | pythonnet |
| octolytics-dimension-repository_id | 14748123 |
| octolytics-dimension-repository_nwo | pythonnet/pythonnet |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 14748123 |
| octolytics-dimension-repository_network_root_nwo | pythonnet/pythonnet |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7d6181066430cc06553c8396ca201e194ae33cb9 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width