Ошибка: "Ни одна из перегрузок метода не принимает 5 аргументов" - C#

Узнай цену своей работы

Формулировка задачи:

// Компил ругается на вот эту строку: // if (FlowControl.ForLoopInitObj( (object) 0, (object) 15, (object) 1, ref LoopForResult, ref CounterResult)) // Ни одна из перегрузок метода "ForLoopInitObj" не принимает "5" аргумент(ов) (CS1501)
  private long OpenFileNew()
    {
      this.TheFile = new Form1.BSPFile();
      this.TheFile.FileName = this.TheFileName;
      long num1;
      try
      {
        int FileNumber = FileSystem.FreeFile();
        this.TheFile.OrigFileSize = checked ((int) new FileInfo(this.TheFile.FileName).Length);
        FileSystem.FileOpen(FileNumber, this.TheFile.FileName, OpenMode.Binary, OpenAccess.Default, OpenShare.Default, -1);
        this.TheFile.FileData = new string(' ', this.TheFile.OrigFileSize);
        FileSystem.FileGet(FileNumber, ref this.TheFile.FileData, 1L, false);
        FileSystem.FileClose(FileNumber);
      }
      catch (Exception ex)
      {
        ProjectData.SetProjectError(ex);
        num1 = 2L;
        ProjectData.ClearProjectError();
        goto label_28;
      }
      this.TheFile.FileType = -1;
      string sLeft = Strings.Mid(this.TheFile.FileData, 1, 4);
      if (StringType.StrCmp(sLeft, "\x001E\0\0\0", false) == 0)
        this.TheFile.FileType = 30;
      else if (StringType.StrCmp(sLeft, "VBSP", false) == 0)
      {
        this.TheFile.FileType = 19;
      }
      else
      {
        num1 = 1L;
        goto label_28;
      }
      object Counter;
      switch (this.TheFile.FileType)
      {
        case 30:
          try
          {
            int FileNumber = FileSystem.FreeFile();
            FileSystem.FileOpen(FileNumber, this.TheFile.FileName, OpenMode.Binary, OpenAccess.Default, OpenShare.Default, -1);
            FileSystem.FileGet(FileNumber, ref this.TheFile.OrigEntStartOffset, 5L);
            FileSystem.FileGet(FileNumber, ref this.TheFile.OrigEntLength, 9L);
            this.TheFile.IsEntLumpAtEnd = true;
            object LoopForResult;
            object CounterResult;
//          if (FlowControl.ForLoopInitObj( (object) 0, (object) 15, (object) 1, ref LoopForResult, ref CounterResult)) // Ни одна из перегрузок метода "ForLoopInitObj" не принимает "5" аргумент(ов) (CS1501)
            {
              do
              {
                int num2;
                FileSystem.FileGet(FileNumber, ref num2, LongType.FromObject(ObjectType.AddObj((object) 5, ObjectType.MulObj(CounterResult, (object) 8))));
                if (num2 > this.TheFile.OrigEntStartOffset)
                {
                  this.TheFile.IsEntLumpAtEnd = false;
                  break;
                }
              }
              while (FlowControl.ForNextCheckObj(CounterResult, LoopForResult, ref CounterResult));
            }
            this.TheFile.EntData = new string(' ', this.TheFile.OrigEntLength);
            FileSystem.FileGet(FileNumber, ref this.TheFile.EntData, (long) checked (this.TheFile.OrigEntStartOffset + 1), false);
            int Length = Strings.InStrRev(this.TheFile.EntData, "}", -1, CompareMethod.Binary);
            if (Length < Strings.Len(this.TheFile.EntData))
            {
              this.TheFile.AfterEntData = Strings.Mid(this.TheFile.EntData, checked (Length + 1), checked (Strings.Len(this.TheFile.EntData) - Length));
              this.TheFile.EntData = Strings.Mid(this.TheFile.EntData, 1, Length);
            }
            else
              this.TheFile.AfterEntData = "";
            this.TheFile.EntData = Strings.Replace(Strings.Replace(this.TheFile.EntData, "\r\n", "\n", 1, -1, CompareMethod.Binary), "\n", "\r\n", 1, -1, CompareMethod.Binary);
            FileSystem.FileClose(FileNumber);
            break;
          }
          catch (Exception ex)
          {
            ProjectData.SetProjectError(ex);
            num1 = 2L;
            ProjectData.ClearProjectError();
            goto label_28;
          }
        case 19:
          try
          {
            int FileNumber = FileSystem.FreeFile();
            FileSystem.FileOpen(FileNumber, this.TheFileName, OpenMode.Binary, OpenAccess.Default, OpenShare.Default, -1);
            FileSystem.FileGet(FileNumber, ref this.TheFile.OrigEntStartOffset, 9L);
            FileSystem.FileGet(FileNumber, ref this.TheFile.OrigEntLength, 13L);
            this.TheFile.IsEntLumpAtEnd = true;
            object LoopForResult;
            object CounterResult;
            if (FlowControl.ForLoopInitObj(Counter, (object) 0, (object) 50, (object) 1, ref LoopForResult, ref CounterResult))
            {
              do
              {
                int num2;
                FileSystem.FileGet(FileNumber, ref num2, LongType.FromObject(ObjectType.AddObj((object) 9, ObjectType.MulObj(CounterResult, (object) 16))));
                if (num2 > this.TheFile.OrigEntStartOffset)
                {
                  this.TheFile.IsEntLumpAtEnd = false;
                  break;
                }
              }
              while (FlowControl.ForNextCheckObj(CounterResult, LoopForResult, ref CounterResult));
            }
            this.TheFile.EntData = new string(' ', this.TheFile.OrigEntLength);
            FileSystem.FileGet(FileNumber, ref this.TheFile.EntData, (long) checked (this.TheFile.OrigEntStartOffset + 1), false);
            int Length = Strings.InStrRev(this.TheFile.EntData, "}", -1, CompareMethod.Binary);
            if (Length < Strings.Len(this.TheFile.EntData))
            {
              this.TheFile.AfterEntData = Strings.Mid(this.TheFile.EntData, checked (Length + 1), checked (Strings.Len(this.TheFile.EntData) - Length));
              this.TheFile.EntData = Strings.Mid(this.TheFile.EntData, 1, Length);
            }
            else
              this.TheFile.AfterEntData = "";
            this.TheFile.EntData = Strings.Replace(Strings.Replace(this.TheFile.EntData, "\r\n", "\n", 1, -1, CompareMethod.Binary), "\n", "\r\n", 1, -1, CompareMethod.Binary);
            FileSystem.FileClose(FileNumber);
            break;
          }
          catch (Exception ex)
          {
            ProjectData.SetProjectError(ex);
            num1 = 2L;
            ProjectData.ClearProjectError();
            goto label_28;
          }
      }
      this.TextBox1.Text = this.TheFile.EntData;
      this.Text = "EntEd v1.0 - " + new FileInfo(this.TheFile.FileName).Name;
      this.IsOpen = true;
      this.sfd.FileName = this.TheFile.FileName;
      this.SepEnt();
label_28:
      return num1;
    }

Решение задачи: «Ошибка: "Ни одна из перегрузок метода не принимает 5 аргументов"»

textual
Листинг программы
public static bool ForLoopInitObj(
    object Counter,
    object Start,
    object Limit,
    object StepValue,
    ref object LoopForResult,
    ref object CounterResult
)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы