none
C#: como implementar um código predefinido em uma interface? RRS feed

  • Discussão Geral

  • Estou criando uma classe para gerenciamento de arquivos que requer que o programador implemente uma lógica predefinida, tal qual acontece com a interface IDisposable:

                #region IDisposable Support
                private bool disposedValue = false; // Para detectar chamadas redundantes
    
                protected virtual void Dispose(bool disposing)
                {
                    if (!disposedValue)
                    {
                        if (disposing)
                        {
                            // TODO: descartar estado gerenciado (objetos gerenciados).
                        }
    
                        // TODO: liberar recursos não gerenciados (objetos não gerenciados) e substituir um finalizador abaixo.
                        // TODO: definir campos grandes como nulos.
    
                        disposedValue = true;
                    }
                }
    
                // TODO: substituir um finalizador somente se Dispose(bool disposing) acima tiver o código para liberar recursos não gerenciados.
                // ~asdasd()
                // {
                //   // Não altere este código. Coloque o código de limpeza em Dispose(bool disposing) acima.
                //   Dispose(false);
                // }
    
                // Código adicionado para implementar corretamente o padrão descartável.
                public void Dispose()
                {
                    // Não altere este código. Coloque o código de limpeza em Dispose(bool disposing) acima.
                    Dispose(true);
                    // TODO: remover marca de comentário da linha a seguir se o finalizador for substituído acima.
                    // GC.SuppressFinalize(this);
                }
                #endregion

    Eu gostaria de criar uma Interface que também implementasse um código pré definido para orientar o programador. Alguém poderia me ajudar?

    sábado, 9 de maio de 2020 23:32