错误信息是:未处理的“System.InvalidCastException”类型的异常出现在 DeletgateLesson.exe 中其他信息:指定的转换无效。
解决方案 »
- 我有C#把数据库导成csv文件.如何转换成excel文件
- toolscripstatuslabel固定宽度怎么设置
- C#读取Excel数据,最终合并到一个Excel中
- 请大家帮忙下!!
- ------------======高分求助一个很菜的问题,大家都来帮帮忙======-----------
- 调用ORACLE存储过程出错,各位熟悉ORACLE的哥们帮下忙。
- 请问关于动态加载用户控件,怎么调用其的方法属性??
- io读写问题
- 有没有办法将字符串转换为变量?
- 请求帮助
- 请问ref object是啥类型?
- 请教:如何排除类似这样的错误__"运算符“/”无法应用于“int”和“object”类型的操作数"?
我是想做为插件的方式,装载器和插件通过该ICard接口来通信哦。
我是想做为插件的方式,装载器和插件通过该ICard接口来通信哦。我基本上已经看过了MSDN上的学习资料,所以现在开始动手了.
{
public interface ICard
{
void ShowCardInfo();
} /// <summary>
/// Card 的摘要说明。
/// </summary>
public class RedCard : ICard
{
public RedCard()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public void ShowCardInfo()
{
System.Console.WriteLine( "I am a Red Card" );
}
} /// <summary>
/// Card 的摘要说明。
/// </summary>
public class GreenCard:ICard
{
public GreenCard()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public void ShowCardInfo()
{
System.Console.WriteLine( "I am a Green Card" );
}
} /// <summary>
/// Card 的摘要说明。
/// </summary>
public class BlueCard:ICard
{
public BlueCard()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public void ShowCardInfo()
{
System.Console.WriteLine( "I am a Blue Card" );
}
}
}
using System;public interface ICard{
void ShowCard();
}public class GreenCard:ICard{
public void ShowCard(){
Console.WriteLine("Green card");
}
}public class RedCard:ICard{
public void ShowCard(){
Console.WriteLine("Red card");
}
}public class BlueCard:ICard{
public void ShowCard(){
Console.WriteLine("Blue card");
}
public class BadCard{}
}
//App.cs
using System;
using System.Reflection;
using System.Collections;class App{
static void Main(){
do_LoadAndCall();
}
static void do_LoadAndCall(){
ArrayList list = new ArrayList();
Assembly assembly = Assembly.LoadFrom("CardLib.dll");
MethodInfo method = null;
Type[] types = assembly.GetTypes();
foreach(Type t in types){
Type type = t.GetInterface("ICard");
if(type != null){
if(method == null)
method = type.GetMethod("ShowCard");
object o = Activator.CreateInstance(t);
list.Add(o);
}
}
if(method != null)
foreach(object o in list){
Console.WriteLine(o);
method.Invoke(o,null);
}
}
}
using 你的命名空间;
...