چگونه از دو نگارش مختلف یک اسمبلی در برنامههای NET Core. استفاده کنیم؟
نویسنده: وحید نصیری
تاریخ: ۱۳۹۸/۰۳/۱۶ ۱۴:۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
</Project> using System;
namespace Space
{
public class Globe
{
public string GetColor() => "Blue";
}
} <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
</Project> using System;
namespace Space
{
public class Globe
{
public string GetColor() => "Green";
}
} <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Reference Include="Globe1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\Globe1\bin\$(Configuration)\netcoreapp2.1\Globe1.dll</HintPath>
<Aliases>Lib1</Aliases>
</Reference>
<Reference Include="Globe2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\Globe2\bin\$(Configuration)\netstandard2.0\Globe2.dll</HintPath>
<Aliases>Lib2</Aliases>
</Reference>
</ItemGroup>
</Project> extern alias Lib1;
extern alias Lib2;
using System;
using SpaceOne = Lib1::Space;
using SpaceTwo = Lib2::Space;
namespace Owl
{
class Program
{
static void Main(string[] args)
{
var owl = new SuperOwl();
owl.IntegrateGlobe(new SpaceOne.Globe());
owl.IntegrateGlobe(new SpaceTwo.Globe());
Console.WriteLine(owl.GetGLobeColors());
}
}
public class SuperOwl
{
private SpaceOne.Globe _firstGlobe;
private SpaceTwo.Globe _secondGlobe;
public void IntegrateGlobe(SpaceOne.Globe globe) => _firstGlobe = globe;
public void IntegrateGlobe(SpaceTwo.Globe globe) => _secondGlobe = globe;
public string GetGLobeColors() => $"First: {_firstGlobe.GetColor()}, Second: {_secondGlobe.GetColor()}";
}
} extern alias Lib1; extern alias Lib2;
using SpaceOne = Lib1::Space; using SpaceTwo = Lib2::Space;
First: Blue, Second: Green