How To コンテンツについて
利用目的に対してAPIの使い方を説明している逆引き形式のコンテンツです。
コンテンツ内のサンプルコードについて
このコンテンツのサンプルはスクリプトとDLLのエクステンションの両方で実行できることを前提にコードを記載しています。
コンテンツ内のコード例は、次のようにコマンドでの実装を前提に記載してます。まず、ICommandContextオブジェクトのAppプロパティでIApplicationのオブジェクトを取得し、WorkspaceやWindowなどのプロパティにアクセスしています。
public void SomeCommand(ICommandContext c, ICommandParams p)
{
    // プロジェクトファイルのパスを取得します
    var projectFilePath = c.App.Workspace.CurrentProject.ModelUnit.AbsolutePath;
    c.App.Output.WriteLine("sample",projectFilePath);
}
なお、ExtensionPointsライブラリを用いてコマンドやイベントハンドラを記述する場合は、スクリプトのエクステンション同様にCurrentProjectなどのプロパティが存在しています。
using NextDesign.Core;
using NextDesign.Desktop;
using NextDesign.Desktop.ExtensionPoints;
namespace NdExtSample.Commands
{
    public class SomeCommand : CommandHandlerBase
    {
        protected override void OnExecute(ICommandContext c, ICommandParams p)
        {
            // プロジェクトファイルのパスを取得します
            var projectFilePath = CurrentProject.ModelUnit.AbsolutePath;
            Output.WriteLine("sample",projectFilePath);
        }
    }
}