[英]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.