Windows フォーム アプリケーション (DropBox や Google ドライブのような同期アプリケーション) と、Windows ファイル システムに機能を追加する SharpShell を使用して作成した COM コンポーネント (シェル拡張) があります。私の質問は、COM が Windows フォーム アプリケーションと通信する方法です。例えば
Windows フォーム アプリケーションでシングルトンを作成すると、別のプロセスであると考えられるため、COM 拡張機能はこのシングルトン (null) を認識できません。私の質問は、COM プロセス (C# コード) が Windows フォーム アプリ (C# コード) と通信する方法のベスト プラクティスが必要か、または両方のアプリでシングルトンが表示されるようにするかです。
public class FileLoggerDoubleCheckLocking : BaseFileLogger
{
private static FileLoggerDoubleCheckLocking _instance;
private static readonly object _lock = new object();
private FileLoggerDoubleCheckLocking()
{
}
public static FileLoggerDoubleCheckLocking Instance
{
get
{
if (_instance == null)
{
lock (_lock)
{
if (_instance == null)
{
_instance = new FileLoggerDoubleCheckLocking();
}
}
}
return _instance;
}
}
}