Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Improve description of `limitations of extensions`

Open Beginner friendly
#56,626 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
1-3 hours
Newbie friendliness
84/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Tech stack
csharp
Domain
documentation

Research direction

Read docs/csharp/advanced-topics/interface-implementation/mixins-with-default-interface-methods.md and review the paragraph about extension member resolution alongside the proposed wording in the issue. Update the explanation so it clearly describes how the variable's declared type affects which method is called; done when the explanation addresses the confusion raised and matches the article's terminology.

Written by the indexing model from the issue text.

Description

:watch: Not Triaged advanced-concepts/subsvc dotnet-csharp/svc
Type of issue

Missing information

Description

I tried to understand the following sentences but it was not easy for me. For instance I missed the part that the method was not specified on interface so the method call resolved to e anxtension method.

Extension members are resolved at compile time, using the declared type of the variable. Classes that implement the interface can provide a better implementation for any extension member. Variable declarations must match the implementing type to enable the compiler to choose that implementation. When the compile-time type matches the interface, method calls resolve to the extension member.

I suggest we replace with

The compiler chooses an extension method based on the variable's declared type, not the object's actual type. If a class has its own method with the same name as an extension method, that method is used only when the variable is declared as that class. If the variable is declared as the interface, the compiler can't see the class's method, so it calls the extension method.

What do you think of it? Appreciate any feedbacks!

Page URL

https://learn.microsoft.com/en-us/dotnet/csharp/advanced-topics/interface-implementation/mixins-with-default-interface-methods

Content source URL

https://github.com/dotnet/docs/blob/main/docs/csharp/advanced-topics/interface-implementation/mixins-with-default-interface-methods.md

Document Version Independent Id

98229926-6c7a-3ad1-ab5c-86231253986c

Platform Id

5f097f47-9790-5a92-55f5-70776d1c799f

Article author

@BillWagner

Metadata
  • ID: 2c7899e8-3f01-41d2-137a-e334b73699a4
  • PlatformId: 5f097f47-9790-5a92-55f5-70776d1c799f
  • Service: dotnet-csharp
  • Sub-service: advanced-concepts

Related Issues

Dominant language
No language data
Stars
4.8k
Forks
6.1k
Avg merge
1d 1h
Merged PRs (30d)
215

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dotnet/docs

All issues in dotnet/docs

Similar issues

More Documentation issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.