C#使用RaylibCS时如何省略类名前缀直接调用函数?
解决方案
使用C#原生提供的静态导入功能即可实现需求,无需修改Raylib源码,也不需要额外编写冗余封装代码。
单文件导入
在需要省略Raylib.前缀的代码文件顶部,添加如下静态导入语句:
using static Raylib_cs.Raylib;
添加后该文件内即可直接调用Raylib类下的所有静态方法、常量、枚举类型,无需再写类名前缀,示例调用写法:
InitWindow(640, 480, "game");
全局导入(推荐)
如果希望整个项目所有代码文件都默认支持无前缀调用,不需要每个文件重复写导入语句,可以使用C# 10及以上版本支持的全局静态导入:
在项目中新建一个专门存放全局配置的代码文件(通常命名为GlobalUsings.cs),写入如下语句即可:
global using static Raylib_cs.Raylib;
配置完成后,项目内任意位置都可以直接调用Raylib的所有静态成员。
注意事项
- 目前Visual Studio默认创建的C#项目均满足静态导入、全局导入的版本要求,不需要额外修改语言版本配置
- 如果导入时提示找不到类型,核对当前安装的RaylibCS包版本对应的命名空间即可,主流正式发行版的Raylib静态类完整路径均为
Raylib_cs.Raylib - 如果自定义代码中存在和Raylib方法同名的函数,会触发编译冲突,此时仅需给冲突的方法显式加上
Raylib.前缀做区分即可,其余非冲突方法依然可以正常省略前缀调用。
内容的提问来源于stack exchange,提问作者TouhouLinuxFan
相关产品推荐
相关产品推荐

