2015-04-13 3 views
-1

Я добавляю пункт «iTextsharp.text.Paragraph», где я получаю ошибку«setIndentationLeft» не является членом

p.setindentationLeft не является членом itextsharp.text.paragraph.

Dim bf As BaseFont = BaseFont.CreateFont() 
Dim p As New Paragraph(Label + CONTENT, New Font(bf, 12)) 
Dim indentation As Single = bf.GetWidthPoint(Label, 12) 
p.setIndentationLeft(indentation) 
p.setFirstLineIndent(-indentation) 
Document.Add(p) 
Document.Add(Chunk.NEWLINE) 

ответ

1

Вы используете IText код в приложении iTextSharp. Вам необходимо преобразовать код iText в код iTextSharp, используя правила, объясненные в этом ответе: converting iText code to iTextSharp code.

Если у вас есть сомнения, пожалуйста, не то, что iTextSharp является библиотекой с открытым исходным кодом. Вы всегда можете обратиться к исходному коду. В вашем случае вы можете проверить файл Paragraph.cs на Github.

Вы заметите, что метод Java setIndentationLeft() фактически реализована следующим образом:

/// <summary> 
/// Get/set the indentation of this paragraph on the left side. 
/// </summary> 
/// <value>a float</value> 
virtual public float IndentationLeft { 
    get { 
     return indentationLeft; 
    } 
    set { 
     this.indentationLeft = value; 
    } 
} 

Это означает, что вам нужно это в вашем коде:

p.IndentationLeft = indentation 

То же самое относится и к методу setFirstLineIndent() :

p.FirstLineIndent = -indentation 

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

  • методы в Java начинаются с нижний регистр; методы в .NET начинаются с верхнего регистра, поэтому, когда люди просят вас использовать Java-код в качестве псевдокода и для преобразования Java в .NET, вам необходимо изменить методы, такие как add() и addCell() в Add() и AddCell().
  • Пользовательские переменные в Java изменяются и консультируются с использованием геттеров и сеттеров; переменные в .NET изменяются и обрабатываются с использованием методов, которые выглядят как свойства. Это означает, что вам необходимо изменить такие строки, как cell.setBorder(border); и border = cell.getBorder();, на cell.Border = border и border = cell.Border.

Это скопируйте ответ на один из ваших более ранних вопросов. Как вы можете видеть, этот ответ также решает вашу текущую проблему.

Смежные вопросы