Ответ 1
Спецификатор доступа первичного конструктора следует за параметрами имени и типа типа:
type ValidString private (value: string) =
...
Я хочу сделать класс, который имеет только один конструктор, который является закрытым. Теперь я знаю, как это сделать в С#, но я не могу понять, как это сделать в F #.
В основном это то, что я хочу сделать в F #:
/// <summary>
/// A valid string is a string of 50 characters or less that contains only letters of the latin alphabet.
/// </summary>
public sealed class ValidString {
private readonly string _value;
private ValidString(string value) {
_value = value;
}
public string Value { get { return _value; } }
public static bool TryParse(string input, out ValidString validStr) {
bool valid = input.Length <= 50 && input.All(Char.IsLetter);
validStr = valid ? new ValidString(input) : null;
return valid;
}
}
Спецификатор доступа первичного конструктора следует за параметрами имени и типа типа:
type ValidString private (value: string) =
...