VB.NET在声明为对象后调用类函数
我想看看是否有办法做到这一点。。。我将vs2010与WP7SDK一起使用。(VB.NET) 我在全球范围内宣布这一点VB.NET在声明为对象后调用类函数,vb.net,class,generics,object,Vb.net,Class,Generics,Object,我想看看是否有办法做到这一点。。。我将vs2010与WP7SDK一起使用。(VB.NET) 我在全球范围内宣布这一点 作为对象的公共对象名 然后说我有类:Game1和Game2 在本例中,我们只说这两个类都有一个Update()函数 我想设置objGame=Game1(或Game2) 然后可以调用objGame.Update() 有办法做到这一点吗?用方法Update()声明接口IGame。从中继承Game1和Game2 IGame objGame= Game1() [or Game2] ob
作为对象的公共对象名
然后说我有类:Game1
和Game2
在本例中,我们只说这两个类都有一个Update()
函数
我想设置objGame=Game1
(或Game2)
然后可以调用objGame.Update()
有办法做到这一点吗?用方法Update()声明接口IGame。从中继承Game1和Game2
IGame objGame= Game1() [or Game2]
objGame.Update()
下面是关于OOP中多态性的wiki。首先将您的公共对象声明为Game1或Game2
Public objGame As New Game1
objGame.Update()
那么无论你对这个对象做什么,实际上都代表了游戏1或游戏2
Public objGame As New Game1
objGame.Update()
您可以使用反射来获取类对象的类型,然后在将其转换为特定类后调用update方法 C#中的代码片段,可能是您将了解该做什么。这里是共享类中的
对象
,将对象设置为您的类Game1或Game2。然后访问,然后使用少量反射来处理运行时的对象
public static class GameCommon
{
public static object currentGame;
}
///Use.GetType()
另一个最好的方法是它接口多态性和IMHO它是正确的实现方式
选中此项:
public static class GameCommon
{
public static IGame currentGame;
}
public interface IGame
{
void Update();
}
public class Game1 : IGame
{
public void Update()
{
Console.WriteLine("Running:Game1 Updated");
}
}
public class Game2 : IGame
{
public void Update()
{
Console.WriteLine("Running:Game2 Updated");
}
}`
称之为:
GameCommon.currentGame = new Game1();
if (GameCommon.currentGame != null)
{
GameCommon.currentGame.Update();
}
GameCommon.currentGame = new Game2();
GameCommon.currentGame.Update();
Console.ReadKey();`
希望这对您有所帮助。+1获得正确的信息和建议。。但是op在某种程度上是关于提取指定类对象的引用类型。。。