using System;
namespace CSharpTesting
{
class Program
{
static void Main(string[] args)
{
AttackService.Resolve<Soilder>().Attack();
AttackService.Resolve<Tank>().Attack();
}
}
public static class AttackService
{
public static T Resolve<T>() where T : IAttackService, new()
{
T attackService = new T();
return attackService;
}
}
public interface IAttackService
{
void Attack();
}
public class Soilder : IAttackService
{
public void Attack()
{
Console.WriteLine("Soilder attack..");
}
}
public class Tank : IAttackService
{
public void Attack()
{
Console.WriteLine("Tank attack..");
}
}
}
c# - Resolve<T> to create instance
最新推荐文章于 2022-09-01 12:00:13 发布