Search Issue Tracker

Duplicate

Votes

5

Found in

5.0.2p2

Issue ID

698846

Regression

Yes

Observer pattern class does not compile under IL2CPP

IL2CPP

-

How to reproduce:

1. Open new project
2. Paste the following code into a script:

using System;
using System.Collections;
using System.Collections.Generic;

[Serializable]
public class ObservedList<T> : List<T>
{
public event Action<int> Changed = delegate { };
public new void Add(T item)
{
base.Add(item);
Changed(-1);
}
public new void Remove(T item)
{
base.Remove(item);
Changed(-1);
}
public new void AddRange(IEnumerable<T> collection)
{
base.AddRange(collection);
Changed(-1);
}
public new void RemoveRange(int index, int count)
{
base.RemoveRange(index, count);
Changed(-1);
}
public new void Clear()
{
base.Clear();
Changed(-1);
}
public new void Insert(int index, T item)
{
base.Insert(index, item);
Changed(-1);
}
public new void InsertRange(int index, IEnumerable<T> collection)
{
base.InsertRange(index, collection);
Changed(-1);
}
public new void RemoveAll(Predicate<T> match)
{
base.RemoveAll(match);
Changed(-1);
}

public new T this[int index]
{
get
{
return base[index];
}
set
{
base[index] = value;
Changed(index);
}
}
}

3. Build to iOS
- Note the errors thrown

Add comment

Log in to post comment