1

これはおそらく非常に単純であり、私はそれをあまりにも長く見てきました。私のプロジェクトには、次のコードを含む Contracts.cs があります。

namespace RC.Common.Core.ProcessPlugin
{
    public class Contracts
    {
        public interface IProcessPlugin
        {
            void RunProcess(int jobID);
        }

        public interface IProcessMetaData
        {
            string Process { get; }
        }
    }
}

そして、コードの一部としてこれを含む PluginProcessFactory.cs があります。

namespace RC.Common.Core.ProcessPlugin
{
    public class PluginProcessFactory
    {
        [ImportMany]
        IEnumerable<Lazy<Contracts.IProcessPlugin, Contracts.IProcessMetaData>> processes;

        // more code
    }
}

IEnumerable のインターフェイスへの参照の名前にクラス参照が含まれないようにするにはどうすればよいですか? したがって、次のようになります。

        IEnumerable<Lazy<IProcessPlugin, IProcessMetaData>> processes;
4

1 に答える 1

1

インターフェイスをクラス内に配置しないでください。

namespace RC.Common.Core.ProcessPlugin
{
    // Place directly in namespace
    // public class Contracts
    // {
        public interface IProcessPlugin
        {
            void RunProcess(int jobID);
        }

        public interface IProcessMetaData
        {
            string Process { get; }
        }
    // }
}
于 2013-10-30T00:10:44.640 に答える