Eric Erhardt created ARROW-5546:
-----------------------------------

             Summary: [C#] Remove IArrowArray and use Array base class.
                 Key: ARROW-5546
                 URL: https://issues.apache.org/jira/browse/ARROW-5546
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C#
    Affects Versions: 0.13.0
            Reporter: Eric Erhardt


In .NET libraries, we have historically favored classes (abstract or otherwise) 
over interfaces. See [Choosing Between Classes and 
Interfaces|https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms229013(v%3dvs.100)].
 The main reasoning is that you can add members to a class over time, but once 
you ship an interface, it can never be changed. You can only add new interfaces.

 In light of this, we should remove the IArrowArray interface, and instead just 
the base `Array` class as the abstraction for all Arrow Arrays.

As part of this, we should also consider renaming `Array` because it conflicts 
with the System.Array type. Instead we should consider naming it `ArrowArray` 
to make it unique from the very common System.Array type in .NET.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to