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

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.