Как я игнорирую исключения в F#

Одна потенциальная вещь, которую можно сделать, содержат объект, а не расширяются от другого класса. Это даст Вам наибольшую гибкость с точки зрения представления, что Вы хотите представить, но если Вам абсолютно нужен объект иметь тот тип, это не идеальное решение (однако, Вы могли представить объект от метода get).

Таким образом:

public class MyClass : BaseClass
{
    // Your stuff here
}

Становится:

public class MyClass
{
    private BaseClass baseClass;

    public void ExposeThisMethod()
    {
        baseClass.ExposeThisMethod();
    }
}

Или:

public class MyClass
{
    private BaseClass baseClass;

    public BaseClass BaseClass
    {
        get
        {
            return baseClass;
        }
    }
}
5
задан bohdan_trotsenko 24 November 2009 в 12:12
поделиться

2 ответа

try-with и try-finally - это отдельные конструкции в F #, поэтому вам понадобится дополнительная попытка чтобы соответствовать окончательному:

try
    try
        ...
    with e -> ...
finally
    ...

Как указывает Виталий, более идиоматично использовать 'use' для finally-that-dispose

use x = some-IDisposable-expr
...

См. также

Документы об 'use': http: // msdn. microsoft.com/en-us/library/dd233240(VS.100).aspx[12106 impressionSpec for 'use': http://research.microsoft.com/en-us/um/cambridge/projects/ fsharp / manual / spec.html # _Toc245030850

8
ответ дан 18 December 2019 в 14:47
поделиться

try..with..finally не поддерживается в F #. Как и в OCaml. Вы должны использовать здесь оператор use :

try
   use fs = ...
with....
5
ответ дан 18 December 2019 в 14:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: