You can protect and implement licensing for any kind of .Net assembly. However, methods with the following constructs cannot be transformed in Code Protector:
- Autoproperty Initializers (in C# 6)
- Exception Filters (in C# 6)
- Generic methods or methods on generic types (see Generics support in Software Potential) for more details of Generics support).
- Implicit and explicit cast operators
- Init Property Initializers (in C#9)
- Methods with
async
/await
keywords - Methods with
out
orref
parameters. - Methods that invoke other methods with
out
orref
parameters. - Methods that modify a method parameter, even if the parameter is defined as a “by value”.
- Methods with too many local variables or parameters (> 254).
- Methods that contain calls to
- Reflection.Assembly.GetExecutingAssembly(),
- Reflection.MethodInfo.GetCurrentMethod(), or
- Reflection.Assembly.GetCallingAssembly().
- Methods that attempt to obtain a mutual-exclusion lock before executing a statement or code block, using either the
lock
keyword or theMonitor.Enter()
/Monitor.Exit()
pattern - Non-static methods of a structure.
- Top level Statements (in C#9) - cannot protect a top level statement but can call protected code from top level statement.
- Unsafe code – For example, in C#, methods that contain the keyword unsafe typically cannot be transformed.
Comments
0 comments
Article is closed for comments.