在C#中的接口的使用,可实现如C++那样 类的多态性承接使用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public interface IPersionMsg
{
int iPermission { get; set; }
string strCurID { get; set; }
}
public class MemoryRecord:IPersionMsg
{
public int iPermission { get; set; }
public string strCurID { get; set; }
{
public interface IPersionMsg
{
int iPermission { get; set; }
string strCurID { get; set; }
}
public class MemoryRecord:IPersionMsg
{
public int iPermission { get; set; }
public string strCurID { get; set; }
public int INum = 0;
public string addr = "";
}
public string addr = "";
}
public class RecallRecord:IPersionMsg
{
List<IPersionMsg> _persionMsgs = new List<IPersionMsg>();
public int iPermission { get; set; }
public string strCurID { get; set; }
{
List<IPersionMsg> _persionMsgs = new List<IPersionMsg>();
public int iPermission { get; set; }
public string strCurID { get; set; }
public void CreateObj(IPersionMsg persionMsg)
{
_persionMsgs.Add(persionMsg);
Console.WriteLine(persionMsg.strCurID);
}
{
_persionMsgs.Add(persionMsg);
Console.WriteLine(persionMsg.strCurID);
}
public IPersionMsg RebackObject(string strID )
{
for (int i = 0; i < _persionMsgs.Count; i++)
{
if (_persionMsgs[i].strCurID.Equals(strID))
{
Console.WriteLine(_persionMsgs[i].iPermission);
Console.WriteLine(_persionMsgs[i].strCurID);
return _persionMsgs[i];
}
{
for (int i = 0; i < _persionMsgs.Count; i++)
{
if (_persionMsgs[i].strCurID.Equals(strID))
{
Console.WriteLine(_persionMsgs[i].iPermission);
Console.WriteLine(_persionMsgs[i].strCurID);
return _persionMsgs[i];
}
}
return null;
}
return null;
}
}
}
}
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
RecallRecord recallRecord = new RecallRecord();
MemoryRecord memoryRecord = new MemoryRecord() { addr = "Rad1", INum = 10, iPermission = 10010, strCurID = "1" };
{
class Program
{
static void Main(string[] args)
{
RecallRecord recallRecord = new RecallRecord();
MemoryRecord memoryRecord = new MemoryRecord() { addr = "Rad1", INum = 10, iPermission = 10010, strCurID = "1" };
memoryRecord = new MemoryRecord() { addr = "Rad1", INum = 10, iPermission = 10010, strCurID = "1" };
recallRecord.CreateObj(memoryRecord);
memoryRecord = new MemoryRecord() { addr = "Rad1", INum = 20, iPermission = 20010, strCurID = "2" };
recallRecord.CreateObj(memoryRecord);
memoryRecord = new MemoryRecord() { addr = "Rad1", INum = 30, iPermission = 30010, strCurID = "3" };
recallRecord.CreateObj(memoryRecord);
memoryRecord = new MemoryRecord() { addr = "Rad1", INum = 40, iPermission = 40010, strCurID = "4" };
recallRecord.CreateObj(memoryRecord);
memoryRecord = new MemoryRecord() { addr = "Rad1", INum = 50, iPermission = 50010, strCurID = "5" };
recallRecord.CreateObj(memoryRecord);
Console.ReadKey();
for (int i = 0; i < 5; i++)
{
recallRecord.RebackObject(i.ToString());
}
Console.ReadKey();
}
}
}
for (int i = 0; i < 5; i++)
{
recallRecord.RebackObject(i.ToString());
}
Console.ReadKey();
}
}
}
浙公网安备 33010602011771号