控制C#属性的函数名称

时间:2012-09-19 20:59:00

标签: script#

我在C#中使用此代码(作为ImportLibrary):

[IgnoreNamespace]
[Imported]
public class MyClass
{
    public object Value
    {
        get { return null; }
        set { }
    }
}

然后我按照这样的方式推荐这个类:

myClass.Value = 0;
obj val = myClass.Value;

Everthing很好并且编译 - 所以这很好:)但是,结果是这样的:

myClass.set_value(0);
var val = myClass.get_value();

我真正想要的是:

myClass.setValue(0);
var val = myClass.getValue();

所以,没有下划线(_)和大写字母。我该怎么控制呢?我试过[ScriptName(“Value”)],但没有运气。

1 个答案:

答案 0 :(得分:0)

目前还没有对该属性模式的支持。您只需拥有方法 - GetValue和SetValue。

当然,它可以改变,但我担心在整体查看脚本生成时,为所有可能的不同模式创建无穷无尽的排列,而不仅仅是属性语法。我实际上并不依赖于"得到_" ......它只是将实际名称与所添加的名称分开,以及将相同的pascal-case用于已经存在的驼峰式例程......所以对于切换到刚才的想法持开放态度"获得"但它需要适用于"添加_"和"删除_"以及活动。为什么不在脚本#github repo(https://github.com/nikhilk/scriptsharp)上打开一个问题,看看是否存在改变的共识?

因此,要了解动机,是因为您正在尝试生成脚本,而现有的其他内容正在调用,因此必须调用" getValue" ...或者这是源于偏好。