抽象クラスから継承する文字列を使用して実行時にクラスの型を取得し、取得した型をパラメーターとして使用するにはどうすればよいですか?

dragonking3002

run-time文字列介してクラスを取得し、ExampleAbstract:new()のようなジェネリックの機能を引き続き使用するにはどうすればよいですか?

Cannot convert type 'System.Type' to 'CodeStuff.Automobile' [ReminderCodeFolder]Windowsリフレクションを使用して型を取得するとエラーが発生します。

public abstract class Automobile{
    public abstract void stuff();
}

public class Car : Automobile{
    public override void stuff(){
        Console.WriteLine("Nice");
    }
}

public class Program{
    public static void CarStuff(Automobile b){
        b.stuff();
    }

    static void Main(string[] args){
        Type ReadType = Type.GetType("CodeStuff.Car");
        CarStuff(Automobile(/*Solution*/))
    }
}
VietDD
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CodeStuff
{
    public abstract class Automobile
    {
        public abstract void stuff();
    }
    public class Car : Automobile
    {
        public override void stuff()
        {
            Console.WriteLine("nice");
        }
    }

    class Program
    {
        public static void CarStuff(Automobile b)
        {
            b.stuff();
        }

        static void Main(string[] args)
        {
            Type ReadType = Type.GetType("CodeStuff.Car");
            Object obj = Activator.CreateInstance(ReadType);
            CarStuff((Automobile)obj);

            Console.ReadLine();
        }
    }
}

出力:nice

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ