2016-06-16 4 views
-1

Я отправился в License your app и есть только код для C#. Мне интересно, где разместить информацию о лицензии в моем F # WPF-приложении. Делает это в файле app.fs или другом.F # WPF Лицензия разработчика Esri

Благодаря

+1

вы могли бы сформулировать его, хотя в более общем виде, например, как бы вы написать этот код C# в F #. – s952163

ответ

2

Я не знаком с этим SDK, но он должен идти в сборку (так ехе или DLL) файл, который использует его. Было бы полезно, чтобы показать код C#, а не просто ссылка:

Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.ClientId = "mYcLieNTid"; 

try 
{ 
    Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.Initialize(); 
} 
catch (Exception ex) 
{ 
    Console.WriteLine("Unable to initialize the ArcGIS Runtime with the client ID provided: " + ex.Message); 

}

С недавнего времени значительно улучшилось F # Docs Try/With является эквивалентный механизм обработки исключений в F #:

Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.ClientId <- "mYcLieNTid"; 

try 
    Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.Initialize() 
with 
    | ex -> printfn "Unable to initialize the ArcGIS Runtime with the client ID provided: %A" ex.Message 

Дополнительная информация: Если у вас есть время, пожалуйста, посмотрите на F# for fun, а также Modules и Classes, вы также можете найти эти вершины ics на SO. Вот некоторые комментарии:

  1. F # чувствителен к порядку файла в проекте, пожалуйста, убедитесь, что вы кладете модуль над файлом, который open -ную его
  2. вы вообще #load *.fsx скрипты, вы можете, но вам не нужно делать это для файлов *.fs, так как предполагается, что они встроены в сборку. Вы можете просто сказать open File1 Предполагая, что вы File1.fs и внутри него module File1, а затем, если внутри модуля FILE1 вы впустили let x = 5, вы можете сказать File1.x доступ к этому
  3. Вам не нужно ставить модуль в отдельный файл. Вы можете просто разместить его в пространстве имен, в котором есть ваш SDK (возможно, App.fs).
  4. Самый простой будет на самом деле поместить этот код внутри main функции, в [<EntryPoint>]
+0

спасибо за ваш ввод, показывая код C# в качестве примера базовой линии. Я буду работать над этой проблемой в эти выходные и ответим назад, чтобы увидеть, как работает код F #. –

+0

Я скопировал код непосредственно в файлах MainWindow и App и получил эту ошибку: Пространства имен не могут содержать значения. Подумайте о том, как использовать модуль для хранения объявлений значений. Поэтому я создал модуль ApKey.fs и добавил открытый ApKey к файлам MainWindow или App и теперь получаю эту ошибку. Пространство имен или модуль «Apkey» не определены. Я ссылался на #load «ApKey.fs» и все еще получал ошибку. –

+0

Ну, это действительно другой вопрос. Пожалуйста, см. * Дополнительная информация * в моем ответе выше. – s952163