Frage

Was kann ich anstelle eines „long“, die klonbar sein könnte?

Siehe unten, um den Code für die ich hier so lange erhalte eine Fehlermeldung ist nicht klonbar.

public static CloneableDictionary<string, long> returnValues = new CloneableDictionary<string, long>();

EDIT:. Ich vergaß zu erwähnen, ich will den folgenden Code verwenden, dass ich gefunden (siehe unten)

public class CloneableDictionary<TKey, TValue> : Dictionary<TKey, TValue> where TValue : ICloneable
{
    public IDictionary<TKey, TValue> Clone()
    {
        var clone = new CloneableDictionary<TKey, TValue>();

        foreach (KeyValuePair<TKey, TValue> pair in this)
        {
            clone.Add(pair.Key, (TValue)pair.Value.Clone());
        }
        return clone;
    }
}
War es hilfreich?

Lösung

Es gibt keinen Punkt ein long in klonen.

Sie sollten eine regelmäßige Dictionary<string, long> verwenden.

Wenn Sie das Wörterbuch selbst klonen möchten, können Sie new Dictionary<string, long>(otherDictionary) schreiben.

Andere Tipps

public class CloneableDictionary<TKey, TValue> : Dictionary<TKey, TValue>
{
    public IDictionary<TKey, TValue> Clone()
    {
        var clone = new CloneableDictionary<TKey, TValue>();

        foreach (KeyValuePair<TKey, TValue> pair in this)
        {
            ICloneable clonableValue = pair.Value as ICloneable;
            if (clonableValue != null)
                clone.Add(pair.Key, (TValue)clonableValue.Clone());
            else
                clone.Add(pair.Key, pair.Value);
        }

        return clone;
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top