Здесь используется метод VB.NET, который работает отлично.Редактирование метаданных файла - Код в порядке VB, но не C#
Private Sub editMetadata(ByRef bmp1 As Bitmap, ByVal intTitleId As Integer, ByVal strTitle As String)
Dim ci As System.Reflection.ConstructorInfo = _
GetType(PropertyItem).GetConstructor(BindingFlags.NonPublic Or _
BindingFlags.Instance Or BindingFlags.[Public], Nothing, New Type() {}, Nothing)
Dim outPropertyItem As PropertyItem = DirectCast(ci.Invoke(Nothing), PropertyItem)
outPropertyItem.Id = intTitleId
' Type=1 means Array of Bytes.
outPropertyItem.Type = 1
outPropertyItem.Len = strTitle.Length
outPropertyItem.Value = Encoding.Unicode.GetBytes(strTitle)
bmp1.SetPropertyItem(outPropertyItem)
End Sub
Сейчас в C#, я столкнулся в блоке дороги с самой первой строке этого метода.
System.Reflection.ConstructorInfo ci =
GetType(PropertyItem).GetConstructor(BindingFlags.NonPublic ||
BindingFlags.Instance || BindingFlags.[Public], null, new Type() {}, null);
После преобразования синтаксиса из VB в C# (что я знаком с) У меня еще есть 6 ошибок на этом одном разделе.
Таким образом, проблема может быть решена пару способов ...
Что такое правильный C# синтаксис кода, показанного выше.
ИЛИ ..
Как редактировать метаданные файлов корректно в C#.
Благодарим за помощь!
Использование | вместо || in BindingFlags – Egor4eg
А, это избавилось от ошибки №3. Спасибо :) !! – adam