【发布时间】:2015-02-26 17:10:11
【问题描述】:
我正在开发一个非常具体的图形过滤功能。 它背后的整个数学正在开发中,它很长并且经常变化。我希望我能更好地控制功能测试
在 C# 中,函数具有类似的输入模式
Private int MyFunction (argument1,argument2,argument3....)
但是我想像这样调用函数
Result = MyFunction(arg1,arg2,arg3).MathTest2
我可以在函数本身内定义任何新的 MathTestX。 所以我对函数的调用不需要在所有使用它的程序中进行调整。这样的事情可能吗? 或者我必须声明一个枚举或常量,如下所示:
Result = MyFunction(arg1,arg2,arg3,MathTest2) // and thus update all progs that make use of it.
如果可能的话,它对我来说也很重要,它不需要对系统内存或 CPU 施加压力。因为过滤器需要在每秒 60 帧的高速凸轮上工作,所以我的数学需要保持快速。我只有毫秒可以使用。
我意识到整个事情变得接近对象表示法(如调用 .net 函数),如 L= MyString.length
在对象中创建一个函数可能会解决问题,但我对速度有疑问,如果应该这样做,速度是一个关键因素。
【问题讨论】:
-
MyFunction(arg1,arg2,arg3).MathTest2暗示MathTest2与函数的返回值 相关,如果您必须将某些内容传递给函数,则通过参数传递它.Enum,类对象,随便你。 -
还有一点要补充,不要担心性能还。首先使其可行,如果您发现任何性能问题,然后使用内存分析器/.Net 分析器查找原因并纠正它。