Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Use internal when exposing low-level types like IntPtr

Abierto
#97 0 comentarios 0 reacciones 1 asignado Ver en GitHub

@ryzngard ya está trabajando en esto.

Desde el 5/5/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

bug

Is your feature request related to a problem? Please describe.

No, this is about hardening the API.

Exposing low-level types like IntPtr as public in user-facing code is bad practice for an interop library like this. It causes excessive, unnecessary information and APIs being exposed to users, which could lead to confusion and error-prone code being made with it.


Describe the solution you'd like

Refactor client-facing low-level members, constructors, etc. to be internal (or protected internal if necessary). For example, NSArray<T> has a public constructor with an IntPtr parameter. Users do not need to know about this, and makes the API messier for those trying to simply interface with it. Using an AssemblyInfo.cs can allow internal members to be available to other Apple assemblies without having to expose unnecessary data to users.


Describe alternatives you've considered

There are none.


Additional context

https://docs.unity3d.com/2020.1/Documentation/Manual/ScriptCompilationAssemblyDefinitionFiles.html

Example AssemblyInfo.cs file:

using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("Apple.Core.Tests")]
Lenguaje dominante
C#
Estrellas
986
Forks
252
Merge medio
1 h 36 min
PR fusionados (30 d)
2

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apple/unityplugins

Todos los issues de apple/unityplugins

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.