una tipos programacion orientada objetos metodos herencia ejemplos crear constructores como clases clase atributos class constructor f# private

class - tipos - Haciendo una clase con un constructor privado en F#



programacion orientada a objetos ejemplos (1)

El especificador de acceso del constructor primario sigue los parámetros de nombre y tipo del tipo:

type ValidString private (value: string) = ...

Quiero hacer una clase que tenga solo un constructor que sea privado. Ahora sé cómo hacerlo en C #, pero no puedo averiguar cómo hacerlo en F #.

Básicamente esto es lo que quiero hacer en 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 bool TryParse(string input, out ValidString validStr) { bool valid = input.Length <= 50 && input.All(Char.IsLetter); validStr = valid ? new ValidString(input) : null; return valid; } }