gpt4 book ai didi

c# - 编辑文件元数据 - 代码在 VB 中很好,但在 C# 中不行

转载 作者:行者123 更新时间:2023-11-30 22:13:28 25 4
gpt4 key购买 nike

这里是目前使用的VB.NET方法,效果很好。

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 个错误。

Error



所以,这个问题可以通过几种方式解决...

上面显示的代码的正确 C# 语法是什么。

或者..

如何在 C# 中正确编辑文件元数据。

感谢您的帮助!

最佳答案

System.Reflection.ConstructorInfo ci = 
typeof(PropertyItem).GetConstructor( BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.Public, null, new Type[] {}, null);

关于c# - 编辑文件元数据 - 代码在 VB 中很好,但在 C# 中不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19138518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com