如何在运行时在C ++ 11中切换模板?

时间:2019-05-28 07:22:15

标签: c++ c++11 templates variant

我创建了一个Socket Wrapper。可以使用两个模板来实例化它:

string[] types = { ".jpg", ".png" };
FileData temp = await CrossFilePicker.Current.PickFile(types);
if (temp == null)
{
    return;
}
Debug.WriteLine($"ImagePath: {temp.FilePath}");
Debug.WriteLine($"ImageName: {temp.FileName}");
//NewEntry.ImagePath = temp.FilePath;
NewImage = (StreamImageSource)ImageSource.FromStream(() => temp.GetStream());

// Property
private StreamImageSource _newImage;
public StreamImageSource NewImage
{
    get { return _newImage; }
    set
    {
        _newImage = value;
        OnPropertyChanged(nameof(NewImage));
    }
}

在Singleton类中,我想实例化两个实例之一,但是我得到了一个运行时参数,可以进行选择。如何在运行时实例化拖曳之一?

我知道Socket<asio::ip::udp> Socket<asio::ip::tcp> ,有没有办法吗?

0 个答案:

没有答案