Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
0 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 26
1

Ошибки: Конструктор не может вызвать сам себя. Неоднозначный вызов следующих методов или свойств

17.02.2014, 20:39. Показов 3579. Ответов 7
Метки нет (Все метки)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace exe1
{
    //****************EXE1***********
    enum Material
    {
        StainlessSteel = 1,
        Aluminum,
        ReinforcedConcrete,
        Composite,
        Titanium
    }
 
    enum CrossSection
    {
        Ibeam = 1,
        Box,
        Zshaped,
        Cshaped
    }
 
    enum TestResult
    {
        Pass = 1,
        Faile
    }
 
      //***************Exe 3******************
    class StressTestCase
    {
        public Material girderMaterial;
        public CrossSection crossSection;
        public int lengthInMm, heightInMm, widthInMm;
        public StressTestCase( ){ }
     
        public StressTestCase(Material girder, CrossSection cross, int length, int heigth, int widht)
          : this(Material.Aluminum, CrossSection.Box, length, heigth, widht)
        public StressTestCase(Material girder, CrossSection cross, int length, int heigth, int widht)
        {
            girderMaterial = girder;
            crossSection = cross;
            lengthInMm = length;
            heightInMm = heigth;
            widthInMm = widht;
        }
        
 
        public void ShowInfo()
        {
            Console.WriteLine("{0} {1} {2} {3} {4}",girderMaterial,crossSection,lengthInMm,heightInMm,widthInMm /*stressTestCase*/ );
        }
        
    }
 
 
    class Program
    {
        static void Main()
        {
            
        }
    }
 
   
 
}
строчка 41 (StressTestCase) Конструктор не может визвать сам себя
Строчка 42 (: this(Material.Aluminum, CrossSection.Box, length, heigth, widht)) неоднозначный вызов следующих методов или свойств
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2014, 20:39
Ответы с готовыми решениями:

Неоднозначный вызов следующих методов или свойств
Доброго времени суток. Пытаюсь найти файлы с определёнными расширениями: string filesUP =...

Неоднозначный вызов следующих методов или свойств
Использую SqlCeBulkCopy private static void perfomBulkCopy(SqlDataReader r) { ...

Неоднозначный вызов следующих методов или свойств
есть вот такие строчки в главной форме: ctlUsers.DataSource = users.InitList(); ...

Неоднозначный вызов следующих методов или свойств - Thread.Thread()
Вот кусок кода, по которому у меня вопрос: ...

7
71 / 70 / 21
Регистрация: 04.04.2012
Сообщений: 351
17.02.2014, 20:43 2
Цитата Сообщение от nazarmyua Посмотреть сообщение
строчка 41 (StressTestCase) Конструктор не может визвать сам себя
Строчка 42 (: this(Material.Aluminum, CrossSection.Box, length, heigth, widht)) неоднозначный вызов следующих методов или свойств
удалите строку 41 и 42
0
0 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 26
17.02.2014, 20:51  [ТС] 3
Но мне нужно создать главний конструктор с ключевим словом THIS

Добавлено через 2 минуты
Здесь нужно дописать ище несколько конструкторов с перегружениєм

Добавлено через 2 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Moto
    {
        public string Name;
        public int Level;
 
        public Moto()
        {
 
        }
 
        public Moto(string name) :this (name,0)
        {
            
        }
 
        public Moto(int level)
            : this("", level)
        {
 
        }
        public Moto(string name, int level)
        {
            Name = name;
            Level = level;
        }
    }
приблизительно вот такоє
0
Master of Orion
Эксперт .NET
6088 / 4944 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
17.02.2014, 20:53 4
Лучший ответ Сообщение было отмечено nazarmyua как решение

Решение

nazarmyua, ну так добавь "перегружение", оба конструктора имеют одинаковую сигнатуру.
1
4 / 4 / 3
Регистрация: 25.05.2010
Сообщений: 31
17.02.2014, 20:54 5
C#
1
2
3
4
public StressTestCase(Material girder, CrossSection cross, int length, int heigth, int widht)
          : this(Material.Aluminum, CrossSection.Box, length, heigth, widht)
{
}
0
44 / 44 / 19
Регистрация: 20.01.2014
Сообщений: 87
17.02.2014, 20:55 6
Цитата Сообщение от nazarmyua Посмотреть сообщение
о мне нужно создать главний конструктор с ключевим словом THIS
: this(... ) предназначен для вызова перегруженного конструктора при вызове какого-то другого конструктора.

Например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
class A
{
public int x, y;
 
public A(int x) {
this.x = x;
}
// тут сначала будет вызов подходящего конструктора, т.е A(int x) ибо x  в данном случае int.
public A(int x, int y) : this(x)
{
this.y = y;
}
}
А у вас конструктор не перегружен, они оба одинаковые.
0
Master of Orion
Эксперт .NET
6088 / 4944 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
17.02.2014, 20:55 7
Panay, не будет работать, по тем же причинам, что я написал выше.
0
0 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 26
17.02.2014, 20:57  [ТС] 8
Цитата Сообщение от Psilon Посмотреть сообщение
nazarmyua, ну так добавь "перегружение", оба конструктора имеют одинаковую сигнатуру.
Спасиво. Понял. Исправил.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2014, 20:57

Неоднозначный вызов методов или свойств
Добрый день можете подсказать, что делаю не так, ругается на строчку tempField.Shuffle(masField);...

Неоднозначный вызов методов и свойств (с#)
Ошибка CS0121 Неоднозначный вызов следующих методов или свойств:...

Вызов какого из следующих методов приведет коллекцию к BHfly[Beijing, Chicago, Singapore]
Предположим, что объект х типа ArrayList содержит две строки Вызов какого из следующих методов...

Видимость переменных. Может ли метод вызывать сам себя?
Такой вот вопросец появился. Имеем гипотетический метод с циклом for, который обрабатывает строку....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru