C# 如何指出要在类库组件内执行的项目中的方法

C# 如何指出要在类库组件内执行的项目中的方法,c#,.net,.net-3.5,class-library,C#,.net,.net 3.5,Class Library,在过去,我的项目中有相当多的可重用代码,我希望将其放入自定义类库项目中,以便其他项目可以重用它。只有一段代码需要在依赖于项目的代码中进行配置 如何将要在项目中执行的方法注入类库的方法中?我曾考虑聘请一名代表,但我愿意听取建议。如果您有一些代码,我对学员不是很在行,也请发布。您正在寻找不同的实现方法。一种常见的方法是获取一个参数,该参数实现: interface IDoSomething { void DoSomething(string myParam); } class MyLibra

在过去,我的项目中有相当多的可重用代码,我希望将其放入自定义类库项目中,以便其他项目可以重用它。只有一段代码需要在依赖于项目的代码中进行配置


如何将要在项目中执行的方法注入类库的方法中?我曾考虑聘请一名代表,但我愿意听取建议。如果您有一些代码,我对学员不是很在行,也请发布。

您正在寻找不同的实现方法。一种常见的方法是获取一个参数,该参数实现:

interface IDoSomething
{
   void DoSomething(string myParam);
}

class MyLibrary
{
    public void DoLibraryStuff(IDoSomething iDoSomething, string extraParam)
    { iDoSomething.DoSomething("info");... }
}
如果您想使用代理,您可以使用:

class MyLibrary
{
    public void DoLibraryStuff(Action<string> doSomething, string extraParam)
    { doSomething("info");... }
}

你正在寻找不同的方法来实现。一种常见的方法是获取一个参数,该参数实现:

interface IDoSomething
{
   void DoSomething(string myParam);
}

class MyLibrary
{
    public void DoLibraryStuff(IDoSomething iDoSomething, string extraParam)
    { iDoSomething.DoSomething("info");... }
}
如果您想使用代理,您可以使用:

class MyLibrary
{
    public void DoLibraryStuff(Action<string> doSomething, string extraParam)
    { doSomething("info");... }
}

看起来很有趣。我来看看这个。我对国际奥委会并不十分熟悉,但通过谷歌的快速搜索,我发现在.NET中可以有不同的风格,比如Ninject和Unity。什么是首选?@Nyla Pareska:我不太确定,但我认为在这种情况下,你并不需要框架。框架似乎比您所引用的更一般。就个人而言,我更喜欢PostSharp。我只是在测试阶段,所以我的问题,但最终我希望它成为一个框架一样的东西。另外,我只是在学习或尝试一些.NET技术。我怎样才能在方法DoSomething中加入参数?我没有成功。@Nyla Pareska:用参数修改了两个版本。看起来很有趣。我来看看这个。我对国际奥委会并不十分熟悉,但通过谷歌的快速搜索,我发现在.NET中可以有不同的风格,比如Ninject和Unity。什么是首选?@Nyla Pareska:我不太确定,但我认为在这种情况下,你并不需要框架。框架似乎比您所引用的更一般。就个人而言,我更喜欢PostSharp。我只是在测试阶段,所以我的问题,但最终我希望它成为一个框架一样的东西。另外,我只是在学习或尝试一些.NET技术。我怎样才能在方法DoSomething中加入参数?我没有成功。@Nyla Pareska:用参数修改了两个版本。