Одна потенциальная вещь, которую можно сделать, содержат объект, а не расширяются от другого класса. Это даст Вам наибольшую гибкость с точки зрения представления, что Вы хотите представить, но если Вам абсолютно нужен объект иметь тот тип, это не идеальное решение (однако, Вы могли представить объект от метода 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;
}
}
}
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
try..with..finally не поддерживается в F #. Как и в OCaml. Вы должны использовать здесь оператор use :
try
use fs = ...
with....