gpt4 book ai didi

c# - 基于语言的条件代码?

转载 作者:行者123 更新时间:2023-11-30 17:13:28 26 4
gpt4 key购买 nike

我正在为 C# 编写一个库。我想知道如果在 C# 项目中使用该库,是否有可能只有方法/字段可用,如果它在另一种 .NET 语言(如 Visual Basic)中使用,则方法将不可访问。这样做的原因是因为有些函数/字段只对不安全代码有用,如果它们没有用处,如果它们可用于 Visual Basic 就有点傻了。

是否可以根据使用它们的语言只提供某些类/方法/字段?如果没有,我可以轻松地下载 2 个单独的程序集,即一个用于 C#,一个用于 VB.Net。或者我可以简单地包括额外的方法而不管(但我想防止与那些不熟悉指针和不安全代码的人混淆,只是为了防止用户乱用不安全的方法和不小心做一些愚蠢的事情,但我猜它真的没关系!)。

谢谢!

最佳答案

Is it possible to only have certain classes/methods/fields available depending on the language of which they are being utilized in?

没有。

I would like to prevent confusion with those who aren't familiar with pointers and unsafe code, just to keep users from messing around with unsafe methods and accidentally doing something silly.

使用抽象。创建一个带有接口(interface)/基类的程序集,并为一些消费者提供与另一个消费者一起组装的安全实现,并为其他消费者提供基础程序集与另一个公开高级功能的消费者。

或者,如果您知道哪些“高级”程序集将使用它,您可以将一个程序集与内部方法一起使用并使用 InternalsVisibleToAttribute。

关于c# - 基于语言的条件代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9675577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com