如何实例化Kotlin泛型

时间:2015-11-15 21:34:21

标签: generics instantiation kotlin

在Kotlin中,如何实例化通用?在C#和Java中,这个任务非常简单,我觉得因为无法以任何方式做到这一点而感到非常愚蠢。

请注意,我无法控制"底层"的推导。 Kotlin泛型因此不能使用方差;但我能保证的是,它是一个可实例化的Kotlin类(不是Java),它有一个零参数构造函数。

另请注意,我已经阅读过此内容(没有让它工作):https://youtrack.jetbrains.com/issue/KT-6728

一点意见 - 经过一两个星期的比赛后真的非常喜欢Kotlin。

C#代码/一个非常简单的例子。 Java非常相似:

using System;

namespace GenInstance
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Console.WriteLine ("Hello World!");

            var w = new Instancer<Whatever> ().Map ();
            Console.WriteLine (w);
            Console.ReadLine ();
        }
    }

    public class Instancer<T> where T : new() {
        public T Map() {
            return new T();
        }
    }

    public class Whatever {
        public override string ToString ()
        {
            return "My Instance";
        }
    }
}

0 个答案:

没有答案