Я экспериментировал с F # и хотел бы попробовать использовать его в проекте C# для определенных фрагментов кода, которые выиграют от языка.F # Пространства имен/Модули и Взаимодействие с C#
Я пытался выяснить, как работают модули и пространства имен при использовании в проекте C#. Например, следующий код:
namespace File1
#light
type File1(path : string) =
static member Trim(p : string) = p.Trim()
member self.Path = path
Тогда я пытаюсь использовать это в C#, говоря:
using File1;
class Program
{
static void Main(string[] args)
{
// Doesn't work
Console.WriteLine(File1.Trim(" hello "));
// Does work
Console.WriteLine(File1.File1.Trim(" hello "));
}
}
Я понимаю, почему второй один работает, но почему не первая одна работа? Я потянул в пространство имен с помощью объявления using, и File1 должен быть классом. Trim является статическим членом этого класса.
Это имеет смысл. Изменение одного из имен только для файла. –