using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Reflection;
using Microsoft.Extensions.DependencyInjection;
namespace WpfApp1
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var sc = new ServiceCollection();
sc.AddScoped(typeof(IPerson), typeof(Student));
sc.AddScoped<DaStudent>();
var sp = sc.BuildServiceProvider();
var student2 = sp.GetService<DaStudent>();
student2.SayStudent();
}
}
class DaStudent
{
IPerson _person;
public DaStudent(IPerson person) //这里必须要要有构造函数
{
_person = person;
}
public void SayStudent()
{
_person.say();
}
}
class Student : IPerson
{
public int a = 12;
public void say()
{
Console.WriteLine(a.ToString());
}
}
interface IPerson
{
void say();
}
}