标签: instantiation

为什么Class.forName()对我不起作用?

我正在尝试从变量中实例化一个类,并编写了一些测试代码.但是,不幸的是,它无法正常工作.这是代码:

Object co1 = new CommandDownloadHttp();
Class cc1 = Class.forName("CommandDownloadHttp");
Object co = cc1.newInstance();
Run Code Online (Sandbox Code Playgroud)

不幸的是,在第二线它崩溃了java.lang.ClassNotFoundException.

你能告诉我我做错了什么吗?

java class instantiation classname

2
推荐指数
1
解决办法
929
查看次数

VB6中的"对象变量或块变量未设置"运行时错误

我有VB6的问题.我有一个包含几个ComboBox对象的表单.我希望通过一个以SQL查询作为参数的函数来填充ComboBoxes.所以代码看起来像这样

Private Function FillComboBoxFromMDB(ByVal sDBName As String, _
                                     ByVal sSQL As String) As ComboBox
    '/*
    ' * Execute SQL in MDB and fill the ComboBox with the results
    ' * Returns filled ComboBox
    ' */
    Dim DB As Database
    Dim DBRecordset As Recordset

    On Error GoTo FillComboBoxFromMDB_ErrHandler

    Set DB = OpenDatabase(sDBName, False, False)

    If Not DB Is Nothing Then
        Set DBRecordset = DB.OpenRecordset(sSQL)
        If Not DBRecordset Is Nothing Then
            If DBRecordset.RecordCount > 0 Then
                Call FillComboBoxFromMDB.AddItem(DBRecordset.Fields(0).Value)
                ' ^^ This row …
Run Code Online (Sandbox Code Playgroud)

vb6 runtime instantiation

2
推荐指数
1
解决办法
4万
查看次数

如何使用字符串实例化对象并在C#中发送参数?

下面的代码生成此输出正常:

This is page one.
This is page two.
Run Code Online (Sandbox Code Playgroud)

但是我如何更改它以便从?动态实例化PageItem对象List<string>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestInstant
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> pageItemsIdCodes = new List<string>() { "PageItem1", "PageItem2" };
            PageItemManager pageItemManager = new PageItemManager(pageItemsIdCodes);
            pageItemManager.DisplayMenu();

            Console.ReadLine();
        }
    }

    class PageItemManager
    {
        private Dictionary<string, BasePageItem> PageItemRecords = new Dictionary<string, BasePageItem>();
        public PageItemManager(List<string> pageItemsIdCodes)
        {
            //manually
            PageItemRecords.Add("PageItem1", new PageItem1(this));
            PageItemRecords.Add("PageItem2", new PageItem2(this));

            //HOW DO i DO THIS DYNAMICALLY:
            //PSEUDO-CODE: …
Run Code Online (Sandbox Code Playgroud)

c# dynamic instantiation

2
推荐指数
1
解决办法
435
查看次数

在DirectShow之外使用DirectShow过滤器?

我目前正在处理Windows Media Foundation.但是,由于Microsoft H.264解码器和一些缺少自定义格式的解码器的一些问题,我想知道是否可以直接使用CLSID实例化DirectShow解码器,并围绕它构建一个暴露IMFTransform的代理获得Media Foundation的解码器.所以这是我的问题:

我可以直接实例化Directshow过滤器(首选解码器)并使用它们进行解码(即放置一些压缩帧并获得未压缩的帧)来创建MFT吗?

我知道如何使用其CLSID实例化过滤器本身.但是,我不知道如何使用实际的解码功能.

任何想法,提示,链接任何将被欣赏.谢谢,

J.

directshow instantiation decoder clsid ms-media-foundation

2
推荐指数
1
解决办法
1416
查看次数

在ASP.NET MVC中实例化EF4上下文?

在microsoft asp.net网站上找到了一个教程,它从上下文中创建一个像这样的实例:

        public class HomeController : Controller
        {
            private MoviesDBEntities _db = new MoviesDBEntities(); 

            public ActionResult Index()
            {
                return View(_db.MovieSet.ToList());
            }

            ...
        }
Run Code Online (Sandbox Code Playgroud)

这意味着每次控制器实例化时,上下文也会实例化.但在这里我发现实例化上下文的正确方法是这样的:

        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                using(MoviesDBEntities _db = new MoviesDBEntities()){
                    return View(_db.MovieSet.ToList());
                }
            }
            ...
        }
Run Code Online (Sandbox Code Playgroud)

所以问题是,哪种方式是正确的?还是重要的?

c# asp.net-mvc entity-framework instantiation

2
推荐指数
1
解决办法
593
查看次数

为什么Java接口可以在这些代码中实例化?

可能重复:
创建接口的"对象"

我是Java新手.根据我的理解:

  • 我们无法实例化Interface.我们只能实例化一个class实现的interface.
  • new关键字用于从类创建对象.

但是,当我读取某些Java程序的源代码时,我发现有时会实例化一个接口.例如:

例1:

JButtonObject.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
        //codes
    }
});
Run Code Online (Sandbox Code Playgroud)

例2:

SwingUtilities.invokeLater(new Runnable()
{
    public void run()
    {
        //codes
    }
});
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,ActionListener和Runnable都是Java接口.我可以知道为什么可以在这些代码中实例化它们吗?

实例化接口的目的是什么?参考这个例子,似乎我们应该创建一个实现接口的类的实例.

java interface class instantiation

2
推荐指数
1
解决办法
2274
查看次数

c ++ Object创建相同类型的新实例

有没有办法让对象有可能创建自己类型的新对象,而不指定这种类型?

class Foo {
public:
    virtual Foo* new_instance() {
        return new type_of(this); // Some magic here
    }
};

class Bar: public Foo {

};

Foo* a = new Foo();
Foo* b = new Bar();
Foo* c = a->new_instance();
Foo* d = b->new_instance();
Run Code Online (Sandbox Code Playgroud)

我现在想c成为类型Foo,而d应该是类型Bar.

c++ types object instantiation

2
推荐指数
1
解决办法
1308
查看次数

实例化通用类的JAVA数组

E[] arr = (E[])new Object[INITIAL_ARRAY_LENGTH];
Run Code Online (Sandbox Code Playgroud)

上面的代码是从取以下职位:

E通用类类型在哪里.当我们使用Object类型实例化数组时,编译器/ JVM如何知道需要分配多少内存.我的理解是,类型转换只允许更改引用类型,但不允许更改底层对象结构.

java arrays generics allocation instantiation

2
推荐指数
1
解决办法
112
查看次数

实例化新线程的方式是否会产生影响?

什么是实例化之间的差异(如果有的话)螺纹这样

SomeThread t = new SomeThread();
t.start();
Run Code Online (Sandbox Code Playgroud)

和这样:

new SomeThread().start();
Run Code Online (Sandbox Code Playgroud)

将在构造函数类SomeThread仍然被实例化?

或者它实际上是第二次跳过实例化构造函数并直接进入run() -方法?

注意:SomeThread类扩展了Thread

java instantiation java-threads

2
推荐指数
1
解决办法
77
查看次数

标准做法是在该类中创建一个类的实例吗?

我在类Foo中遇到了一些代码doSomething()的代码,它创建了类foo的实例.

public class Foo {
    public void doSomething() {
         Foo foo1 = new Foo();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是标准做法吗?这似乎是一种非常奇怪的事情.你为什么要做这样的事情.以这种方式创建代码是否存在危险?有没有理由你想要这样做而不是使用其他一些做法?最后,我的直觉是任何做这种事情的方法都应该被声明为静态的.那是对的吗?

java class instantiation

2
推荐指数
1
解决办法
49
查看次数