«объект» не содержит конструктор, который принимает 3 аргумента - PullRequest
2 голосов
/ 14 июля 2011

Я пробую свои силы в создании сферической местности в XNA 4.0 и использую икосаэдр для создания сферы с равномерно распределенными вершинами.Я довольно новичок в Xna, и я сталкиваюсь с этой проблемой, пытаясь создать класс, который будет обрабатывать определение всех вершин для сферы.

вот код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Icosahedron_Test
{
    class Icosahedron
    {

        public Icosahedron(int radius, int refinement, Vector3[] vertices)
            : base(radius, refinement, vertices)
        {
        }


    }
}

также, если кто-то знает, как создать икосаэдр, или может направить меня к учебнику, я был бы очень благодарен XD

Ответы [ 2 ]

3 голосов
/ 15 июля 2011

В вашем примере кода вы определяете новый класс с именем Icosahedron.

Код, который вы предоставили, называется Конструктором, который является специальным методом, который используется для создания новых объектов.

public Icosahedron(int radius, int refinement, Vector3[] vertices)
        : base(radius, refinement, vertices)

При написании

: база (....)

Вы пытаетесь вызвать базовый вызов текущего класса, который вы определяете.

C # поддерживает механизм, называемый Inheritance , который позволяет расширять поведение объекта путем расширения другого класса. Это можно использовать для добавления / переопределения некоторых свойств и способностей родительского объекта.

В C # все объекты являются производными от System.Object, и поэтому в вашем коде вы пытаетесь вызвать конструктор System.Object с 3 параметрами, но этот метод конструктора не существует для System.Object.

Вам нужно хорошо прочитать C #, чтобы овладеть основами:)

0 голосов
/ 14 июля 2011

Ваш Icosahedron наследует object.

Как ясно сказано в сообщении об ошибке, вы не можете вызвать base(...), так как object не имеет такого конструктора.

...