нажатие мерзавца heroku основное разрешение отклонено на VISTA

Можно скрыть почти весь код, реализованный интерфейсами к внешним блокам.

interface IVehicle
{
    void Drive();
    void Steer();
    void UseHook();
}
abstract class Vehicle  // :IVehicle  // Try it and see!
{
    /// <summary>
    /// Consuming classes are not required to implement this method.
    /// </summary>
    protected virtual void Hook()
    {
        return;
    }
}
class Car : Vehicle, IVehicle
{
    protected override void Hook()  // you must use keyword "override"
    {
        Console.WriteLine(" Car.Hook(): Uses abstracted method.");
    }
    #region IVehicle Members

    public void Drive()
    {
        Console.WriteLine(" Car.Drive(): Uses a tires and a motor.");
    }

    public void Steer()
    {
        Console.WriteLine(" Car.Steer(): Uses a steering wheel.");
    }
    /// <summary>
    /// This code is duplicated in implementing classes.  Hmm.
    /// </summary>
    void IVehicle.UseHook()
    {
        this.Hook();
    }

    #endregion
}
class Airplane : Vehicle, IVehicle
{
    protected override void Hook()  // you must use keyword "override"
    {
        Console.WriteLine(" Airplane.Hook(): Uses abstracted method.");
    }
    #region IVehicle Members

    public void Drive()
    {
        Console.WriteLine(" Airplane.Drive(): Uses wings and a motor.");
    }

    public void Steer()
    {
        Console.WriteLine(" Airplane.Steer(): Uses a control stick.");
    }
    /// <summary>
    /// This code is duplicated in implementing classes.  Hmm.
    /// </summary>
    void IVehicle.UseHook()
    {
        this.Hook();
    }

    #endregion
}

Это протестирует код.

class Program
{
    static void Main(string[] args)
    {
        Car car = new Car();
        IVehicle contract = (IVehicle)car;
        UseContract(contract);  // This line is identical...
        Airplane airplane = new Airplane();
        contract = (IVehicle)airplane;
        UseContract(contract);  // ...to the line above!
    }

    private static void UseContract(IVehicle contract)
    {
        // Try typing these 3 lines yourself, watch IDE behavior.
        contract.Drive();
        contract.Steer();
        contract.UseHook();
        Console.WriteLine("Press any key to continue...");
        Console.ReadLine();
    }
}
9
задан KT. 1 December 2009 в 08:29
поделиться

1 ответ

Примечание: ваш билет в службу поддержки GitHub подсказал ответ:

Вам нужно дать heroku свой ключ. Для этого должна быть команда. Если вы не можете найти его, обратитесь в их службу поддержки.

Для этого см. Грэм Коллинз ответ (а также ошибка Heroku: «В доступе отказано (открытый ключ)» ):

heroku keys:add ~/.ssh/id_rsa.pub

Подробнее об этом процессе см. Heroku devcenter .
Затем вы можете увидеть список всех ключей, включая имя ключа, например:

heroku keys

Примечание: предположим, что вы не использовали sudo для генерации ключей, например: « git clone heroku ssh permission denied "иллюстрирует (где heroku keys: add не работает)


Дополнительная информация о ваших ssh-ключах в вашем другом тикете поддержки GitHub .

debug1: Trying private key: /.ssh/identity
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa

Я не уверен, почему тогда он будет смотреть на / .ssh , а не на ~ / .ssh .
Попробуйте переместить вашу пару ключей на этот путь.


Разве это не должно быть:

 git push origin master

? По умолчанию ссылка на клонированное репо называется «origin», а не «heroku»

Что отображает

git remote -v show

?

При желании вы можете ссылаться на удаленное репо по имени heroku

git remote add heroku git@github.com:git_username/projectname.git
1
ответ дан 4 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: