René's URL Explorer Experiment


Title: Make .NET objects that have `__call__` method callable from Python by lostmsu · Pull Request #1589 · pythonnet/pythonnet · GitHub

Open Graph Title: Make .NET objects that have `__call__` method callable from Python by lostmsu · Pull Request #1589 · pythonnet/pythonnet

X Title: Make .NET objects that have `__call__` method callable from Python by lostmsu · Pull Request #1589 · pythonnet/pythonnet

Description: What does this implement/fix? Explain your changes. Implemented by adding tp_call to ClassBase, that uses reflection to find __call__ methods in .NET, and falls back to invoking __call__ method from Python base classes. Does this close any currently open issues? Implements #890 Any other comments? This is an amalgamation of d46878c, 5bb1007, and 960457f from https://github.com/losttech/pythonnet Checklist Check all those that are applicable and complete. Make sure to include one or more tests for your change If an enhancement PR, please create docs and at best an example Updated the CHANGELOG

Open Graph Description: What does this implement/fix? Explain your changes. Implemented by adding tp_call to ClassBase, that uses reflection to find __call__ methods in .NET, and falls back to invoking __call__ method fro...

X Description: What does this implement/fix? Explain your changes. Implemented by adding tp_call to ClassBase, that uses reflection to find __call__ methods in .NET, and falls back to invoking __call__ method fro...

Opengraph URL: https://github.com/pythonnet/pythonnet/pull/1589

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:6ad3c6f7-99eb-dcce-a504-b288b5b8ef20
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE01C:7E226:121BDC2:18376DC:69732B85
html-safe-nonce091283a75aa346559a31f1b5fd5a828e2d6d8ea83145a526eac8aec77753f7be
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMDFDOjdFMjI2OjEyMUJEQzI6MTgzNzZEQzo2OTczMkI4NSIsInZpc2l0b3JfaWQiOiI3MDc5MTE0OTM3NTYwNDExMDEzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac1fd56fc3a6320169e0017b5b5b05f24f8ec81fc27b8f01762f93b9b29669d91c
hovercard-subject-tagpull_request:752227966
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/pythonnet/pythonnet/pull/1589/files
twitter:imagehttps://avatars.githubusercontent.com/u/239520?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/239520?s=400&v=4
og:image:altWhat does this implement/fix? Explain your changes. Implemented by adding tp_call to ClassBase, that uses reflection to find __call__ methods in .NET, and falls back to invoking __call__ method fro...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None44ab3188c1dcfe3be0f9c3feca2e04e14fb79f120939ce2395e4f15ab96ec1d4
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/pythonnet/pythonnet git https://github.com/pythonnet/pythonnet.git
octolytics-dimension-user_id6050430
octolytics-dimension-user_loginpythonnet
octolytics-dimension-repository_id14748123
octolytics-dimension-repository_nwopythonnet/pythonnet
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id14748123
octolytics-dimension-repository_network_root_nwopythonnet/pythonnet
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasea5e2b48bd1260476599758f5d253b5d24092ab84
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/pythonnet/pythonnet/pull/1589/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpythonnet%2Fpythonnet%2Fpull%2F1589%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpythonnet%2Fpythonnet%2Fpull%2F1589%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=pythonnet%2Fpythonnet
Reloadhttps://github.com/pythonnet/pythonnet/pull/1589/files
Reloadhttps://github.com/pythonnet/pythonnet/pull/1589/files
Reloadhttps://github.com/pythonnet/pythonnet/pull/1589/files
pythonnet https://github.com/pythonnet
pythonnethttps://github.com/pythonnet/pythonnet
Notifications https://github.com/login?return_to=%2Fpythonnet%2Fpythonnet
Fork 769 https://github.com/login?return_to=%2Fpythonnet%2Fpythonnet
Star 5.4k https://github.com/login?return_to=%2Fpythonnet%2Fpythonnet
Code https://github.com/pythonnet/pythonnet
Issues 155 https://github.com/pythonnet/pythonnet/issues
Pull requests 18 https://github.com/pythonnet/pythonnet/pulls
Discussions https://github.com/pythonnet/pythonnet/discussions
Actions https://github.com/pythonnet/pythonnet/actions
Projects 0 https://github.com/pythonnet/pythonnet/projects
Wiki https://github.com/pythonnet/pythonnet/wiki
Security 0 https://github.com/pythonnet/pythonnet/security
Insights https://github.com/pythonnet/pythonnet/pulse
Code https://github.com/pythonnet/pythonnet
Issues https://github.com/pythonnet/pythonnet/issues
Pull requests https://github.com/pythonnet/pythonnet/pulls
Discussions https://github.com/pythonnet/pythonnet/discussions
Actions https://github.com/pythonnet/pythonnet/actions
Projects https://github.com/pythonnet/pythonnet/projects
Wiki https://github.com/pythonnet/pythonnet/wiki
Security https://github.com/pythonnet/pythonnet/security
Insights https://github.com/pythonnet/pythonnet/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpythonnet%2Fpythonnet%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpythonnet%2Fpythonnet%2Fissues%2Fnew%2Fchoose
filmorhttps://github.com/filmor
pythonnet:masterhttps://github.com/pythonnet/pythonnet/tree/master
losttech:callablehttps://github.com/losttech/pythonnet/tree/callable
Conversation 0 https://github.com/pythonnet/pythonnet/pull/1589
Commits 1 https://github.com/pythonnet/pythonnet/pull/1589/commits
Checks 0 https://github.com/pythonnet/pythonnet/pull/1589/checks
Files changed https://github.com/pythonnet/pythonnet/pull/1589/files
Please reload this pagehttps://github.com/pythonnet/pythonnet/pull/1589/files
Make .NET objects that have __call__ method callable from Python https://github.com/pythonnet/pythonnet/pull/1589/files#top
Show all changes 1 commit https://github.com/pythonnet/pythonnet/pull/1589/files
873fe54 make .NET objects that have __call__ method callable from Python lostmsu Oct 6, 2021 https://github.com/pythonnet/pythonnet/pull/1589/commits/873fe544f2c4e670e9743ffe84be9b9ba7780ab3
Clear filters https://github.com/pythonnet/pythonnet/pull/1589/files
Please reload this pagehttps://github.com/pythonnet/pythonnet/pull/1589/files
Please reload this pagehttps://github.com/pythonnet/pythonnet/pull/1589/files
CHANGELOG.md https://github.com/pythonnet/pythonnet/pull/1589/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed
CallableObject.cs https://github.com/pythonnet/pythonnet/pull/1589/files#diff-f6dd2b5f33963c70f7d6c28ae3d707243037cf66f54e5b3c551c030bc8d19618
classbase.cs https://github.com/pythonnet/pythonnet/pull/1589/files#diff-32bee523619b42a59c7c60132a7d605f738b74bf85b7288552d57b6dd03c96d0
classmanager.cs https://github.com/pythonnet/pythonnet/pull/1589/files#diff-0b7bf56d2368f421761db6d9ca5c28d3fd45ad1bea2d90aa68dd6c241fe4c7c3
interop.cs https://github.com/pythonnet/pythonnet/pull/1589/files#diff-7eb886c1d364dfa7cc2cb64d82ab08f50a157e87c830cb375fd0214ef0ebe3e9
pytype.cs https://github.com/pythonnet/pythonnet/pull/1589/files#diff-7dce1eea60ace696396466397fad7cf616f65043b761f8f01b93bb97d4830963
typemanager.cs https://github.com/pythonnet/pythonnet/pull/1589/files#diff-64b3221887c395ea436fe9433800e73c0854e42d78cd7108c320e5d41d20ab64
CHANGELOG.mdhttps://github.com/pythonnet/pythonnet/pull/1589/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed
View file https://github.com/losttech/pythonnet/blob/873fe544f2c4e670e9743ffe84be9b9ba7780ab3/CHANGELOG.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/pythonnet/pythonnet/pull/1589/{{ revealButtonHref }}
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed
src/embed_tests/CallableObject.cshttps://github.com/pythonnet/pythonnet/pull/1589/files#diff-f6dd2b5f33963c70f7d6c28ae3d707243037cf66f54e5b3c551c030bc8d19618
View file https://github.com/losttech/pythonnet/blob/873fe544f2c4e670e9743ffe84be9b9ba7780ab3/src/embed_tests/CallableObject.cs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/pythonnet/pythonnet/pull/1589/{{ revealButtonHref }}
src/runtime/classbase.cshttps://github.com/pythonnet/pythonnet/pull/1589/files#diff-32bee523619b42a59c7c60132a7d605f738b74bf85b7288552d57b6dd03c96d0
View file https://github.com/losttech/pythonnet/blob/873fe544f2c4e670e9743ffe84be9b9ba7780ab3/src/runtime/classbase.cs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/pythonnet/pythonnet/pull/1589/{{ revealButtonHref }}
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-32bee523619b42a59c7c60132a7d605f738b74bf85b7288552d57b6dd03c96d0
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-32bee523619b42a59c7c60132a7d605f738b74bf85b7288552d57b6dd03c96d0
src/runtime/classmanager.cshttps://github.com/pythonnet/pythonnet/pull/1589/files#diff-0b7bf56d2368f421761db6d9ca5c28d3fd45ad1bea2d90aa68dd6c241fe4c7c3
View file https://github.com/losttech/pythonnet/blob/873fe544f2c4e670e9743ffe84be9b9ba7780ab3/src/runtime/classmanager.cs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/pythonnet/pythonnet/pull/1589/{{ revealButtonHref }}
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-0b7bf56d2368f421761db6d9ca5c28d3fd45ad1bea2d90aa68dd6c241fe4c7c3
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-0b7bf56d2368f421761db6d9ca5c28d3fd45ad1bea2d90aa68dd6c241fe4c7c3
src/runtime/interop.cshttps://github.com/pythonnet/pythonnet/pull/1589/files#diff-7eb886c1d364dfa7cc2cb64d82ab08f50a157e87c830cb375fd0214ef0ebe3e9
View file https://github.com/losttech/pythonnet/blob/873fe544f2c4e670e9743ffe84be9b9ba7780ab3/src/runtime/interop.cs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/pythonnet/pythonnet/pull/1589/{{ revealButtonHref }}
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-7eb886c1d364dfa7cc2cb64d82ab08f50a157e87c830cb375fd0214ef0ebe3e9
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-7eb886c1d364dfa7cc2cb64d82ab08f50a157e87c830cb375fd0214ef0ebe3e9
src/runtime/pytype.cshttps://github.com/pythonnet/pythonnet/pull/1589/files#diff-7dce1eea60ace696396466397fad7cf616f65043b761f8f01b93bb97d4830963
View file https://github.com/losttech/pythonnet/blob/873fe544f2c4e670e9743ffe84be9b9ba7780ab3/src/runtime/pytype.cs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/pythonnet/pythonnet/pull/1589/{{ revealButtonHref }}
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-7dce1eea60ace696396466397fad7cf616f65043b761f8f01b93bb97d4830963
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-7dce1eea60ace696396466397fad7cf616f65043b761f8f01b93bb97d4830963
src/runtime/typemanager.cshttps://github.com/pythonnet/pythonnet/pull/1589/files#diff-64b3221887c395ea436fe9433800e73c0854e42d78cd7108c320e5d41d20ab64
View file https://github.com/losttech/pythonnet/blob/873fe544f2c4e670e9743ffe84be9b9ba7780ab3/src/runtime/typemanager.cs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/pythonnet/pythonnet/pull/1589/{{ revealButtonHref }}
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-64b3221887c395ea436fe9433800e73c0854e42d78cd7108c320e5d41d20ab64
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-64b3221887c395ea436fe9433800e73c0854e42d78cd7108c320e5d41d20ab64
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-64b3221887c395ea436fe9433800e73c0854e42d78cd7108c320e5d41d20ab64
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-64b3221887c395ea436fe9433800e73c0854e42d78cd7108c320e5d41d20ab64
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-64b3221887c395ea436fe9433800e73c0854e42d78cd7108c320e5d41d20ab64
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-64b3221887c395ea436fe9433800e73c0854e42d78cd7108c320e5d41d20ab64
https://github.com/pythonnet/pythonnet/pull/1589/files#diff-64b3221887c395ea436fe9433800e73c0854e42d78cd7108c320e5d41d20ab64
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.