Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why not remove delegate BeginInvoke method, since it is not platform supported on .NET 5? #50826

Closed
zhyy2008z opened this issue Jan 27, 2021 · 11 comments
Labels
Area-Compilers untriaged Issues and PRs which have not yet been triaged by a lead

Comments

@zhyy2008z
Copy link

Why reserve the delegate BeginInvoke method? Is anyone can help?

Related issues:
dotnet/runtime#47510
dotnet/runtime#16312

@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Compilers untriaged Issues and PRs which have not yet been triaged by a lead labels Jan 27, 2021
@ygra
Copy link

ygra commented Jan 27, 2021

Roslyn can be used to compile programs for .NET Framework, right?

@zhyy2008z
Copy link
Author

Can it be judged based on the target?

@huoyaoyuan
Copy link
Member

Roslyn doesn't change its behavior based on the target. It only fails if the target doesn't contains required special types.

@jnm2
Copy link
Contributor

jnm2 commented Jan 28, 2021

@huoyaoyuan It does fail based on target framework when you use DIMs.

@huoyaoyuan
Copy link
Member

@jnm2 It fails because it can't find the special member of DIM feature. It doesn't have more knowledge to the framework.

@jnm2
Copy link
Contributor

jnm2 commented Jan 28, 2021

What member is that?
Also, the same style of metadata detection could work for this proposal.

@huoyaoyuan
Copy link
Member

System.Runtime.CompilerServices.CovariantReturnsOfClasses, the constant

@huoyaoyuan
Copy link
Member

While, it does change behavior for attribute specified, for example SkipLocalsInitAttribute. There can be an attribute to adjust delegate compilation.

@zhyy2008z
Copy link
Author

zhyy2008z commented Feb 1, 2021

Manually specified or can be specified by target? If can be specified by target, may be this issue can be solved.

@huoyaoyuan
Copy link
Member

huoyaoyuan commented Feb 1, 2021

Generally, the team won't doing removal automatically to avoid breaking people without knowledge. The can obsolete them.

@zhyy2008z
Copy link
Author

Obsolete first, then remove it after years.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Compilers untriaged Issues and PRs which have not yet been triaged by a lead
Projects
None yet
Development

No branches or pull requests

4 participants