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

【C#】使[GlobalClass]特性也影响使用它的基类的子类 #30

Open
JourneyHans opened this issue Nov 4, 2024 · 2 comments
Open

Comments

@JourneyHans
Copy link

在Godot那边提过godotengine/godot-proposals#10905
但可能遥遥无期。
简单来说想要实现如下功能:

[GlobalClass]
public abstract partial class GlobalClassResource : Resource {
}

// 只要我继承了GlobalClassResource,就不用每个类都打GlobalClass特性了
// [GlobalClass]
public partial class CardPile : GlobalClassResource {
        // ...
}
@Lazy-Rabbit-2001
Copy link
Contributor

Lazy-Rabbit-2001 commented Nov 4, 2024

edit:
那么,假如有一天你不想让你的子类公开呢?

按照你的想法,如果这个特性实装,有没有想过你突然有一天又不想让子类公开(比如只用于某些地方的脚本,继承自自定义父类,但是该父类公开了,按照你的想法,这个子类也会公开,但实际上没必要让一些只用于特定场合且用量很少的类公开,你说对吧。)

gds也是类似的道理,如果父类就是公开类,子类也自动公开的话,岂不是会污染整个节点/资源创建的窗口?如果量一上去,到时候你想找你要找的东西都不好找的说实话。

总之,我个人觉得这个提议还有一些值得提升改进的空间。

@JourneyHans
Copy link
Author

edit: 编辑: 那么,假如有一天你不想让你的子类公开呢?

按照你的想法,如果这个特性实装,有没有想过你突然有一天又不想让子类公开(比如只用于某些地方的脚本,继承自自定义父类,但是该父类公开了,按照你的想法,这个子类也会公开,但实际上没必要让一些只用于特定场合且用量很少的类公开,你说对吧。)

gds也是类似的道理,如果父类就是公开类,子类也自动公开的话,岂不是会污染整个节点/资源创建的窗口?如果量一上去,到时候你想找你要找的东西都不好找的说实话。

总之,我个人觉得这个提议还有一些值得提升改进的空间。

确实有这样的问题,那是否可以增加特性参数来增加灵活性呢?默认不继承。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants