簡體   English   中英

通用值在列表中分配數據類型

[英]Generic Values assign datatype in list

我的第一個問題是關於 genericshttps://stackoverflow.com/posts/comments/115132005?noredirect=1

現在我不確定如何在將數據返回到列表時分配數據。有些是字符串,有些是 ImageSource

 var dataFields = new List<DataField<string>>();

 if ( imageFront != null )
            {
                var data = DataField<ImageSource>.DocumentFront;
                data.Value = ImageSource.FromStream(() => imageFront.AsPNG().AsStream());
                
                dataFields.Add(data);
            }

但這樣即使我嘗試轉換它,我也無法將數據作為其圖像源添加到字符串中。 不確定這是否是一種好方法。你能告訴一個如何實現這一目標嗎?

一個可能的解決方案是在您的“DataField”class 中使用一個接口,例如(您需要根據您的需要調整它):

1- 接口:

public interface IDataType
{
    string GetValue();
}

2- Class(數據類型):

public class DataType<T> : IDataType
{
    public T Value { get; set; }
    public DataType(T value)
    {            
        Value = value;
    }

    public string GetValue()
    {
        return Value.ToString();
    }
}

3- 使用

var list = new List<IDataType>();
list.Add(new DataType<string>("Hello"));
list.Add(new DataType<int>(1));
list.Add(new DataType<bool>(true));
list.ForEach(dataType =>
{
    Console.WriteLine(dataType.GetValue());
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM