Ошибка компилятора cs1503

Для того что бы вывести какой-либо текст в консоль, вам не нужно преобразовывать в какой-либо тип. Странно выглядит, когда вы конвертируете вывод в число. Вы выводите и конвертируете. Так не получиться. Так что Ваш код должен иметь вот такой вид:

Метод Console.WriteLine() выводит данные переданные в аргумент в окно консоли.
Может Вы хотели сократить таким образом код, но сделали неправильно. Это можно понять исходя из окна с ошибкой:

Не удалось преобразовать «void» в «object».

void это ключевое слово, которое указывает, что метод не возвращает никаких значений. Пустоту грубо говоря. Вот как раз метод Console.WriteLine() и возвращает void. Узнать какой тип вернет метод, можно узнать если навести на метод курсор и увидеть примерно такой текст:

введите сюда описание изображения

И Вы пытались конвертировать «пустоту» в Int32. На такое действие компилятор Вам указал, что такой трюк не провернуть.
Самый короткий вариант который может быть это Console.WriteLine(num1 + num2);

Исходя из выше сказанного, Ваш код будет работать в вот таком виде:

int num1, num2, d;
Console.WriteLine("Первое число:");
num1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Первое число:");
num2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Действие:" +
    "1 - сложение" +
    "2 - вычитание" +
    "3 - умножение" +
    "4 - деление" +
    "5 - целочисленное деление");
d = Convert.ToInt32(Console.ReadLine());
if (d == 1)
{
    Console.WriteLine(num1 + num2);
}
if (d == 2)
{
    Console.WriteLine(num1 - num2);
}
if (d == 3)
{
    Console.WriteLine(num1 * num2);
}
if (d == 4)
{
    Console.WriteLine((float)num1 / num2);
}
if (d == 5)
{
    Console.WriteLine(num1 / num2);
}

Удачи в изучении C#

Aqua

Permalink

Cannot retrieve contributors at this time

description title ms.date f1_keywords helpviewer_keywords ms.assetid

Compiler Error CS1503

Compiler Error CS1503

07/20/2015

CS1503

CS1503

65e4c63d-928d-49f5-8fac-8e113b07e128

Compiler Error CS1503

Argument ‘number’ cannot convert from TypeA to TypeB

The type of one argument in a method does not match the type that was passed when the class was instantiated. This error typically appears along with CS1502. See CS1502 for a discussion of how to resolve this error.

nicknight

0 / 0 / 0

Регистрация: 11.10.2012

Сообщений: 9

1

.NET 3.x

21.05.2014, 22:36. Показов 6984. Ответов 11

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Всем привет. Собственно, сабж. Вылезает ошибка error CS1503 в 7 строчке:

C#
1
2
3
4
5
6
7
8
9
10
11
12
BinList = new MyStream<T>(BinListFileName, FileMode.Create);
Form4<T> list = (Form4<T>)(this.ActiveMdiChild);
T yo;
if (yo is string) {
   Form5 addString = new Form5();
   if (addString.ShowDialog() == DialogResult.OK)
       BinList.insertElem(addString.Data);
   }
 
public class MyStream<T> : Stream
   public void insertElem(T s)
{}

До этого все выполнялось, и string, который возвращает addString.Data, спокойно преобразовывался в T, пока я не заставил формы работать с неопределенными типами. Либо как-то не так заставил



0



Psilon

Master of Orion

Эксперт .NET

6094 / 4950 / 905

Регистрация: 10.07.2011

Сообщений: 14,522

Записей в блоге: 5

22.05.2014, 00:10

2

nicknight, потому что компилятор не умеет преобразовывать произвольный тип в строку?..

C#
1
BinList.insertElem(addString.Data.ToString());

костыль, но будет работать.



0



0 / 0 / 0

Регистрация: 11.10.2012

Сообщений: 9

22.05.2014, 07:41

 [ТС]

3

Psilon, так мне нужно наоборот — string в произвольный тип. Не работает костыль.



0



648 / 582 / 171

Регистрация: 17.07.2012

Сообщений: 1,651

Записей в блоге: 1

22.05.2014, 08:29

4

Так что есть Т то у вас когда вы ошибку получаете?



0



nicknight

0 / 0 / 0

Регистрация: 11.10.2012

Сообщений: 9

22.05.2014, 09:24

 [ТС]

5

Cupko,
В данном случае, string. Но проверка же еще в

C#
1
if (yo is string)

проходит.



0



Psilon

Master of Orion

Эксперт .NET

6094 / 4950 / 905

Регистрация: 10.07.2011

Сообщений: 14,522

Записей в блоге: 5

22.05.2014, 10:54

6

nicknight, ну тогда делай так:

C#
1
2
3
4
5
6
7
8
9
10
BinList = new MyStream<string>(BinListFileName, FileMode.Create);
Form4<string> list = (Form4<string>)(this.ActiveMdiChild);
 
   Form5 addString = new Form5();
   if (addString.ShowDialog() == DialogResult.OK)
       BinList.insertElem(addString.Data);
 
public class MyStream<T> : Stream
   public void insertElem(T s)
{}

т.к. на запись if (yo is string) компилятору вообще плевать.



0



Cupko

648 / 582 / 171

Регистрация: 17.07.2012

Сообщений: 1,651

Записей в блоге: 1

22.05.2014, 11:00

7

Я не понимаю ничего…

C#
1
2
T yo;
if (yo is string)

yo — пустая ссылка, yo is string что возвратит? это вообще компилиться будет?



0



0 / 0 / 0

Регистрация: 11.10.2012

Сообщений: 9

22.05.2014, 11:26

 [ТС]

8

Psilon, так и было до этого. Но я хочу чтобы не только со стрингами работало.

Добавлено через 2 минуты
Cupko, не важно, что она пустая, у нее тип — Т, а yo is string, как я понимаю, проверит на соответствие типу.
is (Справочник по C#)



0



kolorotur

Эксперт .NET

17215 / 12669 / 3321

Регистрация: 17.09.2011

Сообщений: 20,942

22.05.2014, 11:52

9

Цитата
Сообщение от nicknight
Посмотреть сообщение

C#
1
BinList.insertElem(addString.Data);

Я так понимаю, addString.Data — это строка.
В этом случае компилятор вполне резонно предполагает, что вы где-нибудь в коде можете создать MyStream<int>, а потом попытаться передать туда string.
На что и ругается.



0



0 / 0 / 0

Регистрация: 11.10.2012

Сообщений: 9

23.05.2014, 10:33

 [ТС]

10

Видимо, придется как-то по-другому кумекать. Буду разбираться с преподом. Всем спасибо!



0



648 / 582 / 171

Регистрация: 17.07.2012

Сообщений: 1,651

Записей в блоге: 1

23.05.2014, 12:53

11

А если Т стрингой ограничить?



0



Master of Orion

Эксперт .NET

6094 / 4950 / 905

Регистрация: 10.07.2011

Сообщений: 14,522

Записей в блоге: 5

23.05.2014, 15:43

12

Cupko, то смысл в нем?..



0



  • Remove From My Forums
  • Question

  • Hi

    I am Trying to Play an Video in the Windows Mobile 6 by using this code

                MediaPlayer player = new MediaPlayer();

                Uri UriStr = new Uri(«http://192.168.1.5/audio/abc.wmv»);

                player.Open(UriStr);

                VideoDrawing aVideoDrawing = new VideoDrawing();

                aVideoDrawing.Rect = new Rect(0, 0, 100, 100);

                aVideoDrawing.Player = player;

                // Play the video once.

                player.Play();  

    And I have added Reference to  System.dll , Presentaioncore.dll , 

    But

    when I build this I am getting 3 errors

    1)error CS0012: The type ‘System.Uri’ is defined in an assembly that is not referenced. You must add a reference to assembly ‘System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’.

    2)error CS1502: The best overloaded method match for ‘System.Windows.Media.MediaPlayer.Open(System.Uri)’ has some invalid arguments

    3)error CS1503: Argument ‘1’: cannot convert from ‘System.Uri [c:Program FilesMicrosoft.NETSDKCompactFrameworkv3.5WindowsCESystem.dll]’ to ‘System.Uri []’

Answers

  • The reason for this issue is what you’re trying to use desktop DLL on NETCF and this is not going to work.
    That is, you can’t use this code at all. You also cannot add reference to Presentaioncore.dll, it’s a desktop DLL.

    You need to remove this code and replace it with something which is device compatible.
    Say, there’s an article about hosting MP control on NETCF on MSDN. Keep in mind it is rather complex and requires advanced skills.


    This posting is provided «AS IS» with no warranties, and confers no rights.

    • Marked as answer by

      Tuesday, May 12, 2009 7:43 AM

Description:

When using EventCallBack<T>, I countered an issue about error CS1503: Argument 2: cannot convert from 'method group' to 'EventCallback'

I have checked other github blogs which related to this, mostly reported that, this has been fixed in preview 7 version. Right now, i have tested with preview 7 build but could not get resolve it.

Here the link which i checked earlier.
#10077
#8385
#10730
#10077

Whether any syntax changes required to resolve in preview 7 version?

Screenshot:
image

Please find my component structure:

Rendering Page [Index razor page]


      @page "/"
      @using GenericEvent.Shared.Models;
      @inject IJSRuntime jsruntime;

    <MyGenComponent Data="@MyData">
        <Events>
        <NonGenericEvents EventTwo="@Event2"></NonGenericEvents>
        <GenericEvents EventOne="@EventOne"></GenericEvents>
         </Events>

    </MyGenComponent>

    @functions {
        public List<string> MyData = new List<string>() { "a", "b", "c", "d" };

        public void Event2(EventArguments args)
       {

       }

       public async Task EventOne(EventArgsData<string> data)
       {
        //dummy call
        await jsruntime.InvokeAsync<string>("call");
       }
      }

MyGenComponent.razor


    @using GenericEvent.Shared.Models;

    @typeparam T;

    <div>
        <ul>
            @ChildContent
        </ul>
    </div>


    @functions {
    [Parameter]
    protected RenderFragment ChildContent { get; set; }

    [Parameter]
    public IEnumerable<T> Data { get; set; }
    }


Events.razor


      @using Microsoft.AspNetCore.Components;

      @inherits ComponentBase



     <CascadingValue Value="@this">
        @ChildContent
    </CascadingValue>

     @functions{

    [Parameter]
    protected RenderFragment ChildContent { get; set; }

    public GenericEvents<object> GenEvents { get; set; }

    public NonGenericEvents NonGenEvents { get; set; }



     }

GenericEvents.razor


      @using Microsoft.AspNetCore.Components;
      @using GenericEvent.Shared.Models;


       @typeparam TValue


      <CascadingValue Value="@this">

     </CascadingValue>


     @functions{
   
     [Parameter]
    public EventCallback<EventArgsData<TValue>> EventOne { get; set; }

    }



NonGenericEvents.razor

   @using Microsoft.AspNetCore.Components;
    @using GenericEvent.Shared.Models;




   <CascadingValue Value="@this">

   </CascadingValue>


   @functions{

     [Parameter]
     public EventCallback<EventArguments> EventTwo { get; set; }


     }

To Reproduce

Clone this Github repository and run the application

https://github.com/gurunathancs1991/BlazorGenericEvents

We are also expecting the solution for this thread too

#12116

Additional context


C:UsersGurunathanA>dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100-preview7-012814
 Commit:    efad165932

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17763
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:Program Filesdotnetsdk3.0.100-preview7-012814

Host (useful for support):
  Version: 3.0.0-preview7-27912-14
  Commit:  4da6ee6450

.NET Core SDKs installed:
  1.1.13 [C:Program Filesdotnetsdk]
  1.1.14 [C:Program Filesdotnetsdk]
  2.1.202 [C:Program Filesdotnetsdk]
  2.1.502 [C:Program Filesdotnetsdk]
  2.1.602 [C:Program Filesdotnetsdk]
  2.1.700 [C:Program Filesdotnetsdk]
  2.2.202 [C:Program Filesdotnetsdk]
  2.2.300 [C:Program Filesdotnetsdk]
  3.0.100-preview7-012814 [C:Program Filesdotnetsdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.6 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.9 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.11 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.3 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.5 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.6 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.9 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.11 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.3 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.5 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview4-19216-03 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview7.19363.1 [C:Program FilesdotnetsharedMicrosoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.15 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 1.0.16 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 1.1.12 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 1.1.13 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 2.1.6 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 2.1.11 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 2.2.3 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 2.2.5 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview4-27615-11 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview7-27912-14 [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0-preview7-27912-14 [C:Program FilesdotnetsharedMicrosoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

Понравилась статья? Поделить с друзьями:
  • Ошибка компилятора cs1061
  • Ошибка компилятора cs0426
  • Ошибка компилятора cs0266
  • Ошибка компилятора cs0236
  • Ошибка компилятора cs0200