相关疑难解决方法(0)

向.NET应用程序添加脚本功能

我有一个用C#编写的小游戏.它使用数据库作为后端.这是一个交易卡游戏,我想将卡的功能实现为脚本.

我的意思是我基​​本上有一个接口,ICard卡类实现(public class Card056: ICard)并包含游戏调用的函数.

现在,为了使事物可维护/可修改,我想让每张卡的类作为数据库中的源代码,并在第一次使用时实际编译它.因此,当我必须添加/更换卡时,我只需将其添加到数据库并告诉我的应用程序刷新,而无需任何组件部署(特别是因为我们将讨论每个卡的1个组件,这意味着数百个组件) .

那可能吗?从源文件注册一个类,然后实例化它,等等.

ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
Run Code Online (Sandbox Code Playgroud)

如果可以用任何.NET语言编写脚本,那么语言就是C#但是额外的奖励.

.net c# compiler-construction scripting

72
推荐指数
6
解决办法
2万
查看次数

是否可以使用字符串作为LINQ查询表达式?

如果某些变量有一些值,我需要提取一些记录.

例如,如果status> 0,我需要过滤结果,如:

where object.id=status
Run Code Online (Sandbox Code Playgroud)

否则,如果status = 0,我需要删除where where子句并返回所有元素.我会摆脱:

if(status>0)
   do a linq query with the where clauses
else
   do a link query with that where clauses
Run Code Online (Sandbox Code Playgroud)

代码太多,因为要检查的变量可能超过4-5.

是否有可能在LINQ上"注入"一种字符串?(所以我可以创建我的字符串并将其传递给LINQ).

我的意思是:

string myQuery="";
if(status>0)
   myQuery="where object.id=status";
else
   myQuery="";
Run Code Online (Sandbox Code Playgroud)

可能吗?(经典的mysql行为).

c# linq expression

7
推荐指数
1
解决办法
1736
查看次数

标签 统计

c# ×2

.net ×1

compiler-construction ×1

expression ×1

linq ×1

scripting ×1