对象中的公共可变字段

2024-04-18

是否可以在 F# 中创建一个简单的公共可变字段?我正在创建一个将从 C# 程序访问的库,并且我需要能够从 C# 设置一个字段。

//C# Equivalent 
public class MyObj
{
    public int myVariable;
}

//F#
type MyObj = 
    //my variable here

    member SomeMethod() = 
        myVariable <- 10

//C# Usage
MyObj obj = new MyObj();
obj.myVariable = 5;
obj.SomeMethod()

type MyObj() = 
    [<DefaultValue>]
    val mutable myVariable : int
    member this.SomeMethod() = 
        this.myVariable <- 10

你可以离开[<DefaultValue>]如果没有主构造函数,但这可以处理更常见的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对象中的公共可变字段 的相关文章

随机推荐